/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_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 15:36:41,433 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 15:36:41,435 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 15:36:41,481 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 15:36:41,482 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 15:36:41,482 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 15:36:41,483 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 15:36:41,485 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 15:36:41,486 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 15:36:41,487 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 15:36:41,488 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 15:36:41,488 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 15:36:41,489 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 15:36:41,490 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 15:36:41,490 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 15:36:41,491 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 15:36:41,492 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 15:36:41,492 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 15:36:41,494 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 15:36:41,495 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 15:36:41,496 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 15:36:41,497 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 15:36:41,497 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 15:36:41,498 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 15:36:41,499 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 15:36:41,501 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 15:36:41,501 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 15:36:41,502 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 15:36:41,502 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 15:36:41,503 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 15:36:41,504 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 15:36:41,504 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 15:36:41,505 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 15:36:41,505 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 15:36:41,506 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 15:36:41,507 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 15:36:41,507 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 15:36:41,508 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 15:36:41,508 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 15:36:41,508 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 15:36:41,509 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 15:36:41,510 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 15:36:41,511 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 15:36:41,518 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 15:36:41,518 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 15:36:41,519 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 15:36:41,519 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 15:36:41,519 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 15:36:41,519 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 15:36:41,520 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 15:36:41,520 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 15:36:41,520 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 15:36:41,520 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 15:36:41,520 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 15:36:41,520 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 15:36:41,521 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 15:36:41,521 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 15:36:41,521 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 15:36:41,521 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:36:41,521 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 15:36:41,521 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 15:36:41,522 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 15:36:41,522 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 15:36:41,522 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 15:36:41,522 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 15:36:41,522 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-15 15:36:41,734 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 15:36:41,756 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 15:36:41,758 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 15:36:41,759 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 15:36:41,760 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 15:36:41,761 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound10.c [2022-04-15 15:36:41,810 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2b715337f/cf840ab15ca946f281fee70accb41fa2/FLAG4fbf14a9f [2022-04-15 15:36:42,180 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 15:36:42,181 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound10.c [2022-04-15 15:36:42,185 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2b715337f/cf840ab15ca946f281fee70accb41fa2/FLAG4fbf14a9f [2022-04-15 15:36:42,196 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2b715337f/cf840ab15ca946f281fee70accb41fa2 [2022-04-15 15:36:42,198 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 15:36:42,199 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 15:36:42,203 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 15:36:42,203 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 15:36:42,206 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 15:36:42,207 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:36:42" (1/1) ... [2022-04-15 15:36:42,208 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@d89072f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:42, skipping insertion in model container [2022-04-15 15:36:42,208 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:36:42" (1/1) ... [2022-04-15 15:36:42,213 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 15:36:42,226 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 15:36:42,372 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_valuebound10.c[538,551] [2022-04-15 15:36:42,388 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:36:42,400 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 15:36:42,415 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_valuebound10.c[538,551] [2022-04-15 15:36:42,424 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:36:42,436 INFO L208 MainTranslator]: Completed translation [2022-04-15 15:36:42,437 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:42 WrapperNode [2022-04-15 15:36:42,438 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 15:36:42,438 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 15:36:42,439 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 15:36:42,439 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 15:36:42,448 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:42" (1/1) ... [2022-04-15 15:36:42,449 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:42" (1/1) ... [2022-04-15 15:36:42,456 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:42" (1/1) ... [2022-04-15 15:36:42,456 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:42" (1/1) ... [2022-04-15 15:36:42,462 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:42" (1/1) ... [2022-04-15 15:36:42,467 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:42" (1/1) ... [2022-04-15 15:36:42,473 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:42" (1/1) ... [2022-04-15 15:36:42,475 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 15:36:42,476 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 15:36:42,476 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 15:36:42,476 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 15:36:42,478 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:42" (1/1) ... [2022-04-15 15:36:42,491 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:36:42,502 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:36:42,515 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-15 15:36:42,527 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-15 15:36:42,552 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 15:36:42,552 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 15:36:42,552 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 15:36:42,552 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 15:36:42,559 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 15:36:42,559 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 15:36:42,559 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 15:36:42,559 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 15:36:42,559 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 15:36:42,559 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 15:36:42,560 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-15 15:36:42,560 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 15:36:42,560 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 15:36:42,560 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 15:36:42,560 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 15:36:42,560 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 15:36:42,560 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 15:36:42,560 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 15:36:42,560 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 15:36:42,560 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 15:36:42,608 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 15:36:42,609 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 15:36:42,768 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 15:36:42,774 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 15:36:42,774 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-15 15:36:42,777 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:36:42 BoogieIcfgContainer [2022-04-15 15:36:42,777 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 15:36:42,791 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 15:36:42,792 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 15:36:42,805 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 15:36:42,805 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 03:36:42" (1/3) ... [2022-04-15 15:36:42,805 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1ed6db1e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:36:42, skipping insertion in model container [2022-04-15 15:36:42,805 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:42" (2/3) ... [2022-04-15 15:36:42,806 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1ed6db1e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:36:42, skipping insertion in model container [2022-04-15 15:36:42,806 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:36:42" (3/3) ... [2022-04-15 15:36:42,807 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound10.c [2022-04-15 15:36:42,811 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 15:36:42,811 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 15:36:42,845 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 15:36:42,850 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 15:36:42,850 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 15:36:42,885 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-15 15:36:42,894 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 15:36:42,894 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:42,895 INFO L499 BasicCegarLoop]: 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-15 15:36:42,895 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:42,899 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:42,899 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-15 15:36:42,910 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:42,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1354377738] [2022-04-15 15:36:42,923 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:42,923 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-15 15:36:42,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:42,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [602410043] [2022-04-15 15:36:42,925 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:42,926 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:42,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:43,041 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:36:43,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:43,057 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-15 15:36:43,058 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-15 15:36:43,058 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-15 15:36:43,059 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:36:43,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:43,066 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:36:43,067 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:36:43,067 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:36:43,067 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-15 15:36:43,067 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:36:43,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:43,074 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:36:43,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:36:43,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:36:43,075 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-15 15:36:43,075 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:36:43,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:43,082 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:36:43,083 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:36:43,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:36:43,083 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-15 15:36:43,084 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-15 15:36:43,084 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-15 15:36:43,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-15 15:36:43,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-15 15:36:43,085 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-15 15:36:43,085 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-15 15:36:43,086 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {41#true} is VALID [2022-04-15 15:36:43,086 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:36:43,086 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:36:43,086 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:36:43,087 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-15 15:36:43,087 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-15 15:36:43,087 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {41#true} is VALID [2022-04-15 15:36:43,087 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:36:43,088 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:36:43,088 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:36:43,088 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-15 15:36:43,089 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-15 15:36:43,089 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:36:43,089 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:36:43,089 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:36:43,090 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-15 15:36:43,090 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-15 15:36:43,090 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-15 15:36:43,090 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-15 15:36:43,091 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-15 15:36:43,091 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-15 15:36:43,091 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-15 15:36:43,091 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-15 15:36:43,092 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:43,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [602410043] [2022-04-15 15:36:43,093 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [602410043] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:43,093 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:43,093 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:36:43,095 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:43,095 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1354377738] [2022-04-15 15:36:43,096 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1354377738] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:43,096 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:43,096 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:36:43,096 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [356734392] [2022-04-15 15:36:43,096 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:43,101 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-15 15:36:43,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:43,105 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-15 15:36:43,132 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-15 15:36:43,132 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 15:36:43,132 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:43,149 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 15:36:43,150 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 15:36:43,152 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-15 15:36:43,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:43,294 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-15 15:36:43,294 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 15:36:43,295 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-15 15:36:43,295 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:43,296 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-15 15:36:43,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 15:36:43,304 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-15 15:36:43,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 15:36:43,339 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-15 15:36:43,456 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-15 15:36:43,471 INFO L225 Difference]: With dead ends: 69 [2022-04-15 15:36:43,472 INFO L226 Difference]: Without dead ends: 33 [2022-04-15 15:36:43,480 INFO L912 BasicCegarLoop]: 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-15 15:36:43,484 INFO L913 BasicCegarLoop]: 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-15 15:36:43,485 INFO L914 BasicCegarLoop]: 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-15 15:36:43,499 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-15 15:36:43,523 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-15 15:36:43,523 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:43,524 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-15 15:36:43,525 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-15 15:36:43,526 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-15 15:36:43,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:43,540 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-15 15:36:43,540 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 15:36:43,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:43,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:43,542 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-15 15:36:43,543 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-15 15:36:43,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:43,548 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-15 15:36:43,548 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 15:36:43,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:43,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:43,549 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:43,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:43,551 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-15 15:36:43,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-15 15:36:43,555 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-15 15:36:43,555 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:43,555 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-15 15:36:43,556 INFO L479 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-15 15:36:43,556 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-15 15:36:43,602 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:43,603 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 15:36:43,604 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 15:36:43,604 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:43,605 INFO L499 BasicCegarLoop]: 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-15 15:36:43,605 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 15:36:43,605 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:43,608 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:43,608 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-15 15:36:43,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:43,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1655844943] [2022-04-15 15:36:43,611 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:43,611 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-15 15:36:43,611 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:43,611 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1937242047] [2022-04-15 15:36:43,612 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:43,612 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:43,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:43,746 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:36:43,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:43,768 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-15 15:36:43,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:43,769 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-15 15:36:43,769 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:36:43,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:43,783 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:36:43,784 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:36:43,784 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:43,784 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-15 15:36:43,784 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:36:43,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:43,803 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:36:43,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:36:43,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:43,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-15 15:36:43,803 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:36:43,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:43,810 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:36:43,811 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:36:43,811 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:43,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-15 15:36:43,813 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-15 15:36:43,813 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-15 15:36:43,813 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:43,813 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-15 15:36:43,814 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-15 15:36:43,814 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-15 15:36:43,814 INFO L272 TraceCheckUtils]: 6: Hoare triple {331#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {331#true} is VALID [2022-04-15 15:36:43,814 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:36:43,814 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:36:43,814 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:43,815 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-15 15:36:43,815 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-15 15:36:43,815 INFO L272 TraceCheckUtils]: 12: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {331#true} is VALID [2022-04-15 15:36:43,815 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:36:43,815 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:36:43,816 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:43,816 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-15 15:36:43,816 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-15 15:36:43,816 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:36:43,816 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:36:43,816 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:43,817 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-15 15:36:43,821 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-15 15:36:43,822 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-15 15:36:43,823 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-15 15:36:43,824 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-15 15:36:43,824 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-15 15:36:43,824 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-15 15:36:43,824 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-15 15:36:43,825 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:43,825 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1937242047] [2022-04-15 15:36:43,825 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1937242047] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:43,825 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:43,825 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:36:43,826 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:43,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1655844943] [2022-04-15 15:36:43,826 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1655844943] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:43,826 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:43,826 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:36:43,826 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [802815839] [2022-04-15 15:36:43,826 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:43,827 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-15 15:36:43,827 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:43,828 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-15 15:36:43,849 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-15 15:36:43,849 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:36:43,849 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:43,850 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:36:43,850 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:36:43,850 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-15 15:36:44,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:44,312 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-15 15:36:44,312 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 15:36:44,313 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-15 15:36:44,316 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:44,317 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-15 15:36:44,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:36:44,326 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-15 15:36:44,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:36:44,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-15 15:36:44,406 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-15 15:36:44,408 INFO L225 Difference]: With dead ends: 46 [2022-04-15 15:36:44,409 INFO L226 Difference]: Without dead ends: 44 [2022-04-15 15:36:44,409 INFO L912 BasicCegarLoop]: 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-15 15:36:44,410 INFO L913 BasicCegarLoop]: 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-15 15:36:44,410 INFO L914 BasicCegarLoop]: 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-15 15:36:44,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-15 15:36:44,420 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-15 15:36:44,420 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:44,421 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-15 15:36:44,421 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-15 15:36:44,423 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-15 15:36:44,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:44,428 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-15 15:36:44,428 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-15 15:36:44,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:44,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:44,430 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-15 15:36:44,430 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-15 15:36:44,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:44,432 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-15 15:36:44,432 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-15 15:36:44,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:44,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:44,433 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:44,433 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:44,434 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-15 15:36:44,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-15 15:36:44,435 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-15 15:36:44,435 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:44,436 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-15 15:36:44,436 INFO L479 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-15 15:36:44,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-15 15:36:44,489 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-15 15:36:44,489 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-15 15:36:44,491 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 15:36:44,491 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:44,491 INFO L499 BasicCegarLoop]: 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-15 15:36:44,491 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-15 15:36:44,491 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:44,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:44,492 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-15 15:36:44,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:44,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2135393014] [2022-04-15 15:36:44,496 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:44,496 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-15 15:36:44,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:44,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [85319666] [2022-04-15 15:36:44,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:44,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:44,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:44,568 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:36:44,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:44,583 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-15 15:36:44,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:44,584 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-15 15:36:44,584 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:36:44,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:44,588 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:44,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:44,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:44,589 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-15 15:36:44,589 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:36:44,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:44,593 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:44,593 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:44,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:44,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-15 15:36:44,594 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:36:44,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:44,597 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:44,598 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:44,598 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:44,598 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-15 15:36:44,598 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-15 15:36:44,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:44,603 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:44,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:44,604 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:44,604 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-15 15:36:44,605 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-15 15:36:44,605 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-15 15:36:44,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:44,606 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-15 15:36:44,606 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-15 15:36:44,606 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-15 15:36:44,606 INFO L272 TraceCheckUtils]: 6: Hoare triple {616#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {616#true} is VALID [2022-04-15 15:36:44,606 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:44,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:44,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:44,607 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-15 15:36:44,607 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-15 15:36:44,607 INFO L272 TraceCheckUtils]: 12: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {616#true} is VALID [2022-04-15 15:36:44,607 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:44,607 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:44,607 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:44,608 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-15 15:36:44,608 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-15 15:36:44,608 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:44,608 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:44,608 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:44,608 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-15 15:36:44,609 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-15 15:36:44,610 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-15 15:36:44,610 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-15 15:36:44,610 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:44,610 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:44,610 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:44,611 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-15 15:36:44,612 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-15 15:36:44,612 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-15 15:36:44,612 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-15 15:36:44,613 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-15 15:36:44,617 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-15 15:36:44,617 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:44,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [85319666] [2022-04-15 15:36:44,617 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [85319666] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:44,617 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:44,617 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:36:44,618 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:44,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2135393014] [2022-04-15 15:36:44,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2135393014] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:44,618 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:44,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:36:44,618 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1274429974] [2022-04-15 15:36:44,618 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:44,619 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-15 15:36:44,619 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:44,620 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-15 15:36:44,639 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-15 15:36:44,639 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:36:44,639 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:44,640 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:36:44,640 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:36:44,640 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-15 15:36:45,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:45,130 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-15 15:36:45,130 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 15:36:45,131 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-15 15:36:45,132 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:45,132 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-15 15:36:45,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:36:45,134 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-15 15:36:45,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:36:45,139 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-15 15:36:45,205 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-15 15:36:45,207 INFO L225 Difference]: With dead ends: 50 [2022-04-15 15:36:45,207 INFO L226 Difference]: Without dead ends: 48 [2022-04-15 15:36:45,208 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-15 15:36:45,209 INFO L913 BasicCegarLoop]: 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-15 15:36:45,209 INFO L914 BasicCegarLoop]: 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-15 15:36:45,210 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-15 15:36:45,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-15 15:36:45,218 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:45,218 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-15 15:36:45,219 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-15 15:36:45,219 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-15 15:36:45,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:45,222 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-15 15:36:45,222 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-15 15:36:45,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:45,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:45,224 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-15 15:36:45,224 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-15 15:36:45,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:45,227 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-15 15:36:45,227 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-15 15:36:45,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:45,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:45,228 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:45,228 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:45,228 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-15 15:36:45,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-15 15:36:45,230 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-15 15:36:45,230 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:45,230 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-15 15:36:45,230 INFO L479 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-15 15:36:45,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-15 15:36:45,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:45,283 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-15 15:36:45,284 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 15:36:45,284 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:45,285 INFO L499 BasicCegarLoop]: 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-15 15:36:45,285 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-15 15:36:45,286 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:45,287 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:45,287 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-15 15:36:45,287 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:45,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [901231456] [2022-04-15 15:36:45,290 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:45,290 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-15 15:36:45,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:45,290 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [318616866] [2022-04-15 15:36:45,290 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:45,290 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:45,320 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:36:45,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [273340413] [2022-04-15 15:36:45,320 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:36:45,320 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:45,321 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:36:45,335 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-15 15:36:45,343 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-15 15:36:45,413 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:36:45,413 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:36:45,414 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 15:36:45,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:45,434 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:36:45,657 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-15 15:36:45,657 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-15 15:36:45,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:36:45,657 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-15 15:36:45,657 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-15 15:36:45,658 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-15 15:36:45,658 INFO L272 TraceCheckUtils]: 6: Hoare triple {929#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {929#true} is VALID [2022-04-15 15:36:45,658 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:36:45,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:36:45,658 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:36:45,658 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-15 15:36:45,658 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-15 15:36:45,659 INFO L272 TraceCheckUtils]: 12: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {929#true} is VALID [2022-04-15 15:36:45,659 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:36:45,659 INFO L290 TraceCheckUtils]: 14: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:36:45,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:36:45,659 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {929#true} {929#true} #83#return; {929#true} is VALID [2022-04-15 15:36:45,659 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-15 15:36:45,659 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:36:45,660 INFO L290 TraceCheckUtils]: 19: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:36:45,660 INFO L290 TraceCheckUtils]: 20: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:36:45,660 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {929#true} {929#true} #85#return; {929#true} is VALID [2022-04-15 15:36:45,661 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-15 15:36:45,661 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-15 15:36:45,661 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-15 15:36:45,661 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:36:45,661 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:36:45,662 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:36:45,662 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-15 15:36:45,662 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-15 15:36:45,663 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:36:45,663 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:36:45,663 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:36:45,664 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-15 15:36:45,664 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-15 15:36:45,665 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1041#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:45,665 INFO L290 TraceCheckUtils]: 36: Hoare triple {1041#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-15 15:36:45,665 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-15 15:36:45,666 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-15 15:36:45,666 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:36:45,666 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:45,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [318616866] [2022-04-15 15:36:45,666 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:36:45,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [273340413] [2022-04-15 15:36:45,666 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [273340413] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:45,667 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:45,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:36:45,667 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:45,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [901231456] [2022-04-15 15:36:45,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [901231456] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:45,667 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:45,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:36:45,668 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [436794546] [2022-04-15 15:36:45,668 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:45,668 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-15 15:36:45,668 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:45,669 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-15 15:36:45,692 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-15 15:36:45,692 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:36:45,692 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:45,693 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:36:45,693 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 15:36:45,693 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-15 15:36:45,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:45,930 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-15 15:36:45,931 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:36:45,931 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-15 15:36:45,931 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:45,931 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-15 15:36:45,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-15 15:36:45,933 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-15 15:36:45,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-15 15:36:45,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-04-15 15:36:46,012 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-15 15:36:46,015 INFO L225 Difference]: With dead ends: 69 [2022-04-15 15:36:46,015 INFO L226 Difference]: Without dead ends: 55 [2022-04-15 15:36:46,015 INFO L912 BasicCegarLoop]: 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-15 15:36:46,016 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:36:46,016 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 145 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:36:46,017 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-15 15:36:46,034 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-15 15:36:46,034 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:46,036 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-15 15:36:46,036 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-15 15:36:46,037 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-15 15:36:46,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:46,041 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 15:36:46,041 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 15:36:46,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:46,042 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:46,043 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-15 15:36:46,044 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-15 15:36:46,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:46,048 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 15:36:46,048 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 15:36:46,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:46,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:46,049 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:46,049 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:46,050 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-15 15:36:46,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-15 15:36:46,053 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-15 15:36:46,053 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:46,054 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-15 15:36:46,054 INFO L479 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-15 15:36:46,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-15 15:36:46,139 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-15 15:36:46,139 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 15:36:46,141 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 15:36:46,141 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:46,141 INFO L499 BasicCegarLoop]: 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-15 15:36:46,168 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 15:36:46,355 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:46,355 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:46,355 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:46,355 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-15 15:36:46,356 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:46,356 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1359465882] [2022-04-15 15:36:46,356 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:46,356 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-15 15:36:46,356 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:46,356 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [212974936] [2022-04-15 15:36:46,357 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:46,357 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:46,376 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:36:46,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [53755699] [2022-04-15 15:36:46,377 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:36:46,377 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:46,377 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:36:46,385 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-15 15:36:46,407 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-15 15:36:46,437 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:36:46,437 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:36:46,438 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 15:36:46,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:46,457 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:36:47,707 INFO L272 TraceCheckUtils]: 0: Hoare triple {1407#true} call ULTIMATE.init(); {1407#true} is VALID [2022-04-15 15:36:47,707 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-15 15:36:47,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:47,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1407#true} {1407#true} #101#return; {1407#true} is VALID [2022-04-15 15:36:47,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {1407#true} call #t~ret6 := main(); {1407#true} is VALID [2022-04-15 15:36:47,708 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-15 15:36:47,708 INFO L272 TraceCheckUtils]: 6: Hoare triple {1407#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:36:47,708 INFO L290 TraceCheckUtils]: 7: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:36:47,708 INFO L290 TraceCheckUtils]: 8: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:36:47,708 INFO L290 TraceCheckUtils]: 9: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:47,709 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1407#true} {1407#true} #81#return; {1407#true} is VALID [2022-04-15 15:36:47,709 INFO L290 TraceCheckUtils]: 11: Hoare triple {1407#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1407#true} is VALID [2022-04-15 15:36:47,709 INFO L272 TraceCheckUtils]: 12: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:36:47,709 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-15 15:36:47,710 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-15 15:36:47,710 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-15 15:36:47,711 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) 10)} is VALID [2022-04-15 15:36:47,711 INFO L272 TraceCheckUtils]: 17: Hoare triple {1462#(<= (mod main_~B~0 4294967296) 10)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:36:47,711 INFO L290 TraceCheckUtils]: 18: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:36:47,711 INFO L290 TraceCheckUtils]: 19: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:36:47,712 INFO L290 TraceCheckUtils]: 20: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:47,712 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1407#true} {1462#(<= (mod main_~B~0 4294967296) 10)} #85#return; {1462#(<= (mod main_~B~0 4294967296) 10)} is VALID [2022-04-15 15:36:47,713 INFO L290 TraceCheckUtils]: 22: Hoare triple {1462#(<= (mod main_~B~0 4294967296) 10)} ~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) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 15:36:47,713 INFO L290 TraceCheckUtils]: 23: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 15:36:47,713 INFO L272 TraceCheckUtils]: 24: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:36:47,714 INFO L290 TraceCheckUtils]: 25: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:36:47,714 INFO L290 TraceCheckUtils]: 26: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:36:47,714 INFO L290 TraceCheckUtils]: 27: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:47,715 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1407#true} {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #87#return; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 15:36:47,715 INFO L272 TraceCheckUtils]: 29: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:36:47,715 INFO L290 TraceCheckUtils]: 30: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:36:47,715 INFO L290 TraceCheckUtils]: 31: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:36:47,715 INFO L290 TraceCheckUtils]: 32: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:47,716 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1407#true} {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #89#return; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 15:36:47,716 INFO L272 TraceCheckUtils]: 34: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:36:47,716 INFO L290 TraceCheckUtils]: 35: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:36:47,716 INFO L290 TraceCheckUtils]: 36: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:36:47,716 INFO L290 TraceCheckUtils]: 37: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:47,717 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1407#true} {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #91#return; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 15:36:47,718 INFO L290 TraceCheckUtils]: 39: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 10) (= main_~q~0 0))} is VALID [2022-04-15 15:36:47,719 INFO L290 TraceCheckUtils]: 40: Hoare triple {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 10) (= main_~q~0 0))} assume !false; {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 10) (= main_~q~0 0))} is VALID [2022-04-15 15:36:47,719 INFO L272 TraceCheckUtils]: 41: Hoare triple {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 10) (= main_~q~0 0))} 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-15 15:36:47,720 INFO L290 TraceCheckUtils]: 42: Hoare triple {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1544#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:47,720 INFO L290 TraceCheckUtils]: 43: Hoare triple {1544#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1408#false} is VALID [2022-04-15 15:36:47,720 INFO L290 TraceCheckUtils]: 44: Hoare triple {1408#false} assume !false; {1408#false} is VALID [2022-04-15 15:36:47,721 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-15 15:36:47,721 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:36:48,193 INFO L290 TraceCheckUtils]: 44: Hoare triple {1408#false} assume !false; {1408#false} is VALID [2022-04-15 15:36:48,194 INFO L290 TraceCheckUtils]: 43: Hoare triple {1544#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1408#false} is VALID [2022-04-15 15:36:48,194 INFO L290 TraceCheckUtils]: 42: Hoare triple {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1544#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:48,195 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-15 15:36:48,195 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-15 15:36:48,195 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-15 15:36:48,196 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-15 15:36:48,196 INFO L290 TraceCheckUtils]: 37: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:48,196 INFO L290 TraceCheckUtils]: 36: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:36:48,196 INFO L290 TraceCheckUtils]: 35: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:36:48,197 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-15 15:36:48,198 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-15 15:36:48,198 INFO L290 TraceCheckUtils]: 32: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:48,198 INFO L290 TraceCheckUtils]: 31: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:36:48,198 INFO L290 TraceCheckUtils]: 30: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:36:48,198 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-15 15:36:48,199 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-15 15:36:48,199 INFO L290 TraceCheckUtils]: 27: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:48,199 INFO L290 TraceCheckUtils]: 26: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:36:48,199 INFO L290 TraceCheckUtils]: 25: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:36:48,199 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-15 15:36:48,205 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-15 15:36:48,206 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-15 15:36:48,206 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1407#true} {1407#true} #85#return; {1407#true} is VALID [2022-04-15 15:36:48,206 INFO L290 TraceCheckUtils]: 20: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:48,206 INFO L290 TraceCheckUtils]: 19: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:36:48,206 INFO L290 TraceCheckUtils]: 18: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:36:48,206 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-15 15:36:48,207 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1407#true} {1407#true} #83#return; {1407#true} is VALID [2022-04-15 15:36:48,207 INFO L290 TraceCheckUtils]: 15: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:48,207 INFO L290 TraceCheckUtils]: 14: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:36:48,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:36:48,207 INFO L272 TraceCheckUtils]: 12: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:36:48,207 INFO L290 TraceCheckUtils]: 11: Hoare triple {1407#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1407#true} is VALID [2022-04-15 15:36:48,207 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1407#true} {1407#true} #81#return; {1407#true} is VALID [2022-04-15 15:36:48,207 INFO L290 TraceCheckUtils]: 9: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:48,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:36:48,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:36:48,208 INFO L272 TraceCheckUtils]: 6: Hoare triple {1407#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:36:48,208 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-15 15:36:48,208 INFO L272 TraceCheckUtils]: 4: Hoare triple {1407#true} call #t~ret6 := main(); {1407#true} is VALID [2022-04-15 15:36:48,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1407#true} {1407#true} #101#return; {1407#true} is VALID [2022-04-15 15:36:48,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:36:48,208 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-15 15:36:48,208 INFO L272 TraceCheckUtils]: 0: Hoare triple {1407#true} call ULTIMATE.init(); {1407#true} is VALID [2022-04-15 15:36:48,209 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-15 15:36:48,209 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:48,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [212974936] [2022-04-15 15:36:48,209 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:36:48,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [53755699] [2022-04-15 15:36:48,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [53755699] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:36:48,209 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:36:48,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-15 15:36:48,210 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:48,210 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1359465882] [2022-04-15 15:36:48,210 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1359465882] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:48,210 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:48,210 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:36:48,210 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [218597313] [2022-04-15 15:36:48,210 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:48,210 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-15 15:36:48,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:48,211 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-15 15:36:48,244 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-15 15:36:48,245 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:36:48,245 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:48,245 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:36:48,245 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 15:36:48,245 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-15 15:36:48,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:48,476 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-15 15:36:48,476 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:36:48,476 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-15 15:36:48,476 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:48,477 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-15 15:36:48,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 15:36:48,478 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-15 15:36:48,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 15:36:48,480 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-15 15:36:48,565 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-15 15:36:48,567 INFO L225 Difference]: With dead ends: 68 [2022-04-15 15:36:48,567 INFO L226 Difference]: Without dead ends: 66 [2022-04-15 15:36:48,567 INFO L912 BasicCegarLoop]: 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-15 15:36:48,568 INFO L913 BasicCegarLoop]: 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-15 15:36:48,568 INFO L914 BasicCegarLoop]: 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-15 15:36:48,569 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-15 15:36:48,586 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-15 15:36:48,586 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:48,586 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-15 15:36:48,587 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-15 15:36:48,587 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-15 15:36:48,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:48,590 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-15 15:36:48,590 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-15 15:36:48,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:48,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:48,590 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-15 15:36:48,591 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-15 15:36:48,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:48,593 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-15 15:36:48,593 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-15 15:36:48,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:48,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:48,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:48,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:48,594 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-15 15:36:48,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-15 15:36:48,597 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-15 15:36:48,597 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:48,597 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-15 15:36:48,597 INFO L479 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-15 15:36:48,597 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 80 transitions. [2022-04-15 15:36:48,697 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-15 15:36:48,697 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-15 15:36:48,698 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 15:36:48,698 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:48,698 INFO L499 BasicCegarLoop]: 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-15 15:36:48,723 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-15 15:36:48,898 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:48,899 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:48,899 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:48,899 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-15 15:36:48,899 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:48,899 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [239073364] [2022-04-15 15:36:48,900 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:48,900 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-15 15:36:48,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:48,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [553495650] [2022-04-15 15:36:48,900 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:48,900 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:48,911 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:36:48,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1897494861] [2022-04-15 15:36:48,911 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:36:48,911 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:48,911 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:36:48,912 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-15 15:36:48,917 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-15 15:36:48,957 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:36:48,957 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:36:48,958 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-15 15:36:48,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:48,971 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:36:49,728 INFO L272 TraceCheckUtils]: 0: Hoare triple {2085#true} call ULTIMATE.init(); {2085#true} is VALID [2022-04-15 15:36:49,728 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-15 15:36:49,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:49,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2085#true} {2085#true} #101#return; {2085#true} is VALID [2022-04-15 15:36:49,728 INFO L272 TraceCheckUtils]: 4: Hoare triple {2085#true} call #t~ret6 := main(); {2085#true} is VALID [2022-04-15 15:36:49,728 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-15 15:36:49,728 INFO L272 TraceCheckUtils]: 6: Hoare triple {2085#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:36:49,728 INFO L290 TraceCheckUtils]: 7: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:49,728 INFO L290 TraceCheckUtils]: 8: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:49,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:49,728 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2085#true} {2085#true} #81#return; {2085#true} is VALID [2022-04-15 15:36:49,729 INFO L290 TraceCheckUtils]: 11: Hoare triple {2085#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2085#true} is VALID [2022-04-15 15:36:49,729 INFO L272 TraceCheckUtils]: 12: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:36:49,729 INFO L290 TraceCheckUtils]: 13: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:49,729 INFO L290 TraceCheckUtils]: 14: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:49,729 INFO L290 TraceCheckUtils]: 15: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:49,729 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2085#true} {2085#true} #83#return; {2085#true} is VALID [2022-04-15 15:36:49,729 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-15 15:36:49,729 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-15 15:36:49,730 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-15 15:36:49,730 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-15 15:36:49,731 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-15 15:36:49,731 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-15 15:36:49,731 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-15 15:36:49,731 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-15 15:36:49,732 INFO L290 TraceCheckUtils]: 25: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:49,732 INFO L290 TraceCheckUtils]: 26: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:49,732 INFO L290 TraceCheckUtils]: 27: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:49,732 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-15 15:36:49,732 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-15 15:36:49,732 INFO L290 TraceCheckUtils]: 30: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:49,732 INFO L290 TraceCheckUtils]: 31: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:49,733 INFO L290 TraceCheckUtils]: 32: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:49,733 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-15 15:36:49,733 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-15 15:36:49,733 INFO L290 TraceCheckUtils]: 35: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:49,733 INFO L290 TraceCheckUtils]: 36: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:49,734 INFO L290 TraceCheckUtils]: 37: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:49,735 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-15 15:36:49,736 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-15 15:36:49,736 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-15 15:36:49,736 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-15 15:36:49,737 INFO L290 TraceCheckUtils]: 42: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:49,737 INFO L290 TraceCheckUtils]: 43: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:49,737 INFO L290 TraceCheckUtils]: 44: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:49,737 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-15 15:36:49,737 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-15 15:36:49,737 INFO L290 TraceCheckUtils]: 47: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:49,737 INFO L290 TraceCheckUtils]: 48: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:49,738 INFO L290 TraceCheckUtils]: 49: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:49,738 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-15 15:36:49,739 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-15 15:36:49,739 INFO L290 TraceCheckUtils]: 52: Hoare triple {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:49,739 INFO L290 TraceCheckUtils]: 53: Hoare triple {2252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2086#false} is VALID [2022-04-15 15:36:49,739 INFO L290 TraceCheckUtils]: 54: Hoare triple {2086#false} assume !false; {2086#false} is VALID [2022-04-15 15:36:49,740 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-15 15:36:49,740 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:36:50,104 INFO L290 TraceCheckUtils]: 54: Hoare triple {2086#false} assume !false; {2086#false} is VALID [2022-04-15 15:36:50,105 INFO L290 TraceCheckUtils]: 53: Hoare triple {2252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2086#false} is VALID [2022-04-15 15:36:50,105 INFO L290 TraceCheckUtils]: 52: Hoare triple {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:50,106 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-15 15:36:50,106 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-15 15:36:50,106 INFO L290 TraceCheckUtils]: 49: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:50,106 INFO L290 TraceCheckUtils]: 48: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:50,107 INFO L290 TraceCheckUtils]: 47: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:50,107 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-15 15:36:50,107 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-15 15:36:50,107 INFO L290 TraceCheckUtils]: 44: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:50,108 INFO L290 TraceCheckUtils]: 43: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:50,108 INFO L290 TraceCheckUtils]: 42: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:50,108 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-15 15:36:50,109 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-15 15:36:50,262 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-15 15:36:50,263 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-15 15:36:50,263 INFO L290 TraceCheckUtils]: 37: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:50,263 INFO L290 TraceCheckUtils]: 36: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:50,263 INFO L290 TraceCheckUtils]: 35: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:50,263 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-15 15:36:50,264 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-15 15:36:50,264 INFO L290 TraceCheckUtils]: 32: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:50,264 INFO L290 TraceCheckUtils]: 31: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:50,264 INFO L290 TraceCheckUtils]: 30: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:50,264 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-15 15:36:50,265 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-15 15:36:50,265 INFO L290 TraceCheckUtils]: 27: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:50,265 INFO L290 TraceCheckUtils]: 26: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:50,265 INFO L290 TraceCheckUtils]: 25: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:50,265 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-15 15:36:50,265 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-15 15:36:50,266 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-15 15:36:50,266 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2085#true} {2085#true} #85#return; {2085#true} is VALID [2022-04-15 15:36:50,266 INFO L290 TraceCheckUtils]: 20: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:50,266 INFO L290 TraceCheckUtils]: 19: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:50,266 INFO L290 TraceCheckUtils]: 18: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:50,266 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-15 15:36:50,267 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2085#true} {2085#true} #83#return; {2085#true} is VALID [2022-04-15 15:36:50,267 INFO L290 TraceCheckUtils]: 15: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:50,267 INFO L290 TraceCheckUtils]: 14: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:50,267 INFO L290 TraceCheckUtils]: 13: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:50,267 INFO L272 TraceCheckUtils]: 12: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:36:50,267 INFO L290 TraceCheckUtils]: 11: Hoare triple {2085#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2085#true} is VALID [2022-04-15 15:36:50,267 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2085#true} {2085#true} #81#return; {2085#true} is VALID [2022-04-15 15:36:50,267 INFO L290 TraceCheckUtils]: 9: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:50,267 INFO L290 TraceCheckUtils]: 8: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:36:50,267 INFO L290 TraceCheckUtils]: 7: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:36:50,268 INFO L272 TraceCheckUtils]: 6: Hoare triple {2085#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:36:50,268 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-15 15:36:50,268 INFO L272 TraceCheckUtils]: 4: Hoare triple {2085#true} call #t~ret6 := main(); {2085#true} is VALID [2022-04-15 15:36:50,268 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2085#true} {2085#true} #101#return; {2085#true} is VALID [2022-04-15 15:36:50,268 INFO L290 TraceCheckUtils]: 2: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:36:50,268 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-15 15:36:50,268 INFO L272 TraceCheckUtils]: 0: Hoare triple {2085#true} call ULTIMATE.init(); {2085#true} is VALID [2022-04-15 15:36:50,268 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-15 15:36:50,269 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:50,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [553495650] [2022-04-15 15:36:50,269 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:36:50,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1897494861] [2022-04-15 15:36:50,269 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1897494861] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:36:50,269 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:36:50,269 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-15 15:36:50,269 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:50,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [239073364] [2022-04-15 15:36:50,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [239073364] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:50,270 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:50,270 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:36:50,270 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [855925430] [2022-04-15 15:36:50,270 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:50,270 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-15 15:36:50,271 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:50,271 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-15 15:36:50,302 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-15 15:36:50,303 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:36:50,303 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:50,303 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:36:50,303 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-15 15:36:50,303 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-15 15:36:50,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:50,689 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-15 15:36:50,689 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:36:50,689 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-15 15:36:50,689 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:50,690 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-15 15:36:50,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 15:36:50,691 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-15 15:36:50,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 15:36:50,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-15 15:36:50,744 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-15 15:36:50,746 INFO L225 Difference]: With dead ends: 76 [2022-04-15 15:36:50,746 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 15:36:50,747 INFO L912 BasicCegarLoop]: 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-15 15:36:50,747 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:36:50,748 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:36:50,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 15:36:50,774 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-15 15:36:50,774 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:50,774 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-15 15:36:50,774 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-15 15:36:50,774 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-15 15:36:50,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:50,777 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-15 15:36:50,777 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-15 15:36:50,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:50,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:50,778 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-15 15:36:50,778 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-15 15:36:50,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:50,781 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-15 15:36:50,781 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-15 15:36:50,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:50,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:50,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:50,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:50,782 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-15 15:36:50,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-15 15:36:50,785 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-15 15:36:50,785 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:50,785 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-15 15:36:50,785 INFO L479 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-15 15:36:50,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 88 transitions. [2022-04-15 15:36:50,898 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-15 15:36:50,899 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-15 15:36:50,900 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-15 15:36:50,900 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:50,901 INFO L499 BasicCegarLoop]: 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-15 15:36:50,925 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-15 15:36:51,119 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:51,119 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:51,120 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:51,120 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-15 15:36:51,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:51,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1496280537] [2022-04-15 15:36:51,120 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:51,120 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 2 times [2022-04-15 15:36:51,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:51,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [489544102] [2022-04-15 15:36:51,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:51,121 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:51,130 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:36:51,130 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1948283452] [2022-04-15 15:36:51,130 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:36:51,130 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:51,130 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:36:51,140 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-15 15:36:51,141 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-15 15:36:51,189 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:36:51,190 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:36:51,190 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 15:36:51,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:51,208 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:36:51,426 INFO L272 TraceCheckUtils]: 0: Hoare triple {2868#true} call ULTIMATE.init(); {2868#true} is VALID [2022-04-15 15:36:51,427 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-15 15:36:51,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:36:51,432 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2868#true} {2868#true} #101#return; {2868#true} is VALID [2022-04-15 15:36:51,433 INFO L272 TraceCheckUtils]: 4: Hoare triple {2868#true} call #t~ret6 := main(); {2868#true} is VALID [2022-04-15 15:36:51,434 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-15 15:36:51,434 INFO L272 TraceCheckUtils]: 6: Hoare triple {2868#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {2868#true} is VALID [2022-04-15 15:36:51,439 INFO L290 TraceCheckUtils]: 7: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:36:51,439 INFO L290 TraceCheckUtils]: 8: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:36:51,439 INFO L290 TraceCheckUtils]: 9: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:36:51,439 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2868#true} {2868#true} #81#return; {2868#true} is VALID [2022-04-15 15:36:51,439 INFO L290 TraceCheckUtils]: 11: Hoare triple {2868#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2868#true} is VALID [2022-04-15 15:36:51,440 INFO L272 TraceCheckUtils]: 12: Hoare triple {2868#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {2868#true} is VALID [2022-04-15 15:36:51,440 INFO L290 TraceCheckUtils]: 13: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:36:51,440 INFO L290 TraceCheckUtils]: 14: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:36:51,440 INFO L290 TraceCheckUtils]: 15: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:36:51,440 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2868#true} {2868#true} #83#return; {2868#true} is VALID [2022-04-15 15:36:51,440 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-15 15:36:51,440 INFO L290 TraceCheckUtils]: 18: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:36:51,440 INFO L290 TraceCheckUtils]: 19: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:36:51,440 INFO L290 TraceCheckUtils]: 20: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:36:51,440 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2868#true} {2868#true} #85#return; {2868#true} is VALID [2022-04-15 15:36:51,447 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-15 15:36:51,448 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-15 15:36:51,448 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-15 15:36:51,448 INFO L290 TraceCheckUtils]: 25: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:36:51,448 INFO L290 TraceCheckUtils]: 26: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:36:51,448 INFO L290 TraceCheckUtils]: 27: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:36:51,449 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-15 15:36:51,449 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-15 15:36:51,449 INFO L290 TraceCheckUtils]: 30: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:36:51,449 INFO L290 TraceCheckUtils]: 31: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:36:51,449 INFO L290 TraceCheckUtils]: 32: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:36:51,450 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-15 15:36:51,450 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-15 15:36:51,450 INFO L290 TraceCheckUtils]: 35: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:36:51,450 INFO L290 TraceCheckUtils]: 36: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:36:51,450 INFO L290 TraceCheckUtils]: 37: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:36:51,451 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-15 15:36:51,451 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-15 15:36:51,452 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-15 15:36:51,452 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-15 15:36:51,452 INFO L290 TraceCheckUtils]: 42: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:36:51,452 INFO L290 TraceCheckUtils]: 43: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:36:51,452 INFO L290 TraceCheckUtils]: 44: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:36:51,453 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-15 15:36:51,453 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-15 15:36:51,453 INFO L290 TraceCheckUtils]: 47: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:36:51,453 INFO L290 TraceCheckUtils]: 48: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:36:51,453 INFO L290 TraceCheckUtils]: 49: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:36:51,454 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-15 15:36:51,454 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-15 15:36:51,455 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-15 15:36:51,456 INFO L290 TraceCheckUtils]: 53: Hoare triple {3030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:51,456 INFO L290 TraceCheckUtils]: 54: Hoare triple {3034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2869#false} is VALID [2022-04-15 15:36:51,456 INFO L290 TraceCheckUtils]: 55: Hoare triple {2869#false} assume !false; {2869#false} is VALID [2022-04-15 15:36:51,457 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-15 15:36:51,457 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:36:51,457 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:51,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [489544102] [2022-04-15 15:36:51,457 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:36:51,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1948283452] [2022-04-15 15:36:51,457 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1948283452] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:51,457 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:51,457 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:36:51,458 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:51,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1496280537] [2022-04-15 15:36:51,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1496280537] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:51,458 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:51,458 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:36:51,458 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1373371403] [2022-04-15 15:36:51,458 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:51,458 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-15 15:36:51,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:51,459 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-15 15:36:51,491 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-15 15:36:51,491 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:36:51,491 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:51,491 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:36:51,491 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 15:36:51,492 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-15 15:36:51,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:51,804 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-15 15:36:51,804 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:36:51,804 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-15 15:36:51,805 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:51,805 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-15 15:36:51,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 15:36:51,807 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-15 15:36:51,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 15:36:51,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-15 15:36:51,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-15 15:36:51,869 INFO L225 Difference]: With dead ends: 79 [2022-04-15 15:36:51,869 INFO L226 Difference]: Without dead ends: 72 [2022-04-15 15:36:51,869 INFO L912 BasicCegarLoop]: 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-15 15:36:51,871 INFO L913 BasicCegarLoop]: 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-15 15:36:51,871 INFO L914 BasicCegarLoop]: 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-15 15:36:51,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-15 15:36:51,910 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-15 15:36:51,910 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:51,911 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-15 15:36:51,911 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-15 15:36:51,912 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-15 15:36:51,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:51,916 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-15 15:36:51,916 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-15 15:36:51,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:51,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:51,917 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-15 15:36:51,917 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-15 15:36:51,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:51,921 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-15 15:36:51,921 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-15 15:36:51,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:51,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:51,921 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:51,921 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:51,922 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-15 15:36:51,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-15 15:36:51,925 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-15 15:36:51,925 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:51,925 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-15 15:36:51,925 INFO L479 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-15 15:36:51,925 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 85 transitions. [2022-04-15 15:36:52,039 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-15 15:36:52,040 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-15 15:36:52,040 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-15 15:36:52,040 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:52,040 INFO L499 BasicCegarLoop]: 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-15 15:36:52,057 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-15 15:36:52,241 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:52,241 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:52,241 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:52,241 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-15 15:36:52,241 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:52,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1054603833] [2022-04-15 15:36:52,242 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:52,242 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-15 15:36:52,242 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:52,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1459431783] [2022-04-15 15:36:52,242 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:52,242 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:52,261 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:36:52,261 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [996205779] [2022-04-15 15:36:52,261 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:36:52,261 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:52,262 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:36:52,275 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-15 15:36:52,287 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-15 15:36:52,358 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:36:52,358 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:36:52,359 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-15 15:36:52,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:52,379 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:36:56,886 INFO L272 TraceCheckUtils]: 0: Hoare triple {3486#true} call ULTIMATE.init(); {3486#true} is VALID [2022-04-15 15:36:56,886 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-15 15:36:56,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:36:56,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3486#true} {3486#true} #101#return; {3486#true} is VALID [2022-04-15 15:36:56,886 INFO L272 TraceCheckUtils]: 4: Hoare triple {3486#true} call #t~ret6 := main(); {3486#true} is VALID [2022-04-15 15:36:56,886 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-15 15:36:56,886 INFO L272 TraceCheckUtils]: 6: Hoare triple {3486#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {3486#true} is VALID [2022-04-15 15:36:56,886 INFO L290 TraceCheckUtils]: 7: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:36:56,886 INFO L290 TraceCheckUtils]: 8: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:36:56,887 INFO L290 TraceCheckUtils]: 9: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:36:56,887 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3486#true} {3486#true} #81#return; {3486#true} is VALID [2022-04-15 15:36:56,887 INFO L290 TraceCheckUtils]: 11: Hoare triple {3486#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3486#true} is VALID [2022-04-15 15:36:56,887 INFO L272 TraceCheckUtils]: 12: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {3486#true} is VALID [2022-04-15 15:36:56,887 INFO L290 TraceCheckUtils]: 13: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:36:56,887 INFO L290 TraceCheckUtils]: 14: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:36:56,887 INFO L290 TraceCheckUtils]: 15: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:36:56,887 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3486#true} {3486#true} #83#return; {3486#true} is VALID [2022-04-15 15:36:56,887 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-15 15:36:56,887 INFO L290 TraceCheckUtils]: 18: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:36:56,887 INFO L290 TraceCheckUtils]: 19: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:36:56,887 INFO L290 TraceCheckUtils]: 20: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:36:56,887 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3486#true} {3486#true} #85#return; {3486#true} is VALID [2022-04-15 15:36:56,888 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-15 15:36:56,888 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-15 15:36:56,888 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-15 15:36:56,888 INFO L290 TraceCheckUtils]: 25: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:36:56,888 INFO L290 TraceCheckUtils]: 26: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:36:56,888 INFO L290 TraceCheckUtils]: 27: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:36:56,889 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-15 15:36:56,889 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-15 15:36:56,889 INFO L290 TraceCheckUtils]: 30: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:36:56,889 INFO L290 TraceCheckUtils]: 31: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:36:56,889 INFO L290 TraceCheckUtils]: 32: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:36:56,891 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-15 15:36:56,891 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-15 15:36:56,891 INFO L290 TraceCheckUtils]: 35: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:36:56,891 INFO L290 TraceCheckUtils]: 36: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:36:56,891 INFO L290 TraceCheckUtils]: 37: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:36:56,892 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-15 15:36:56,892 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-15 15:36:56,893 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-15 15:36:56,893 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-15 15:36:56,893 INFO L290 TraceCheckUtils]: 42: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:36:56,893 INFO L290 TraceCheckUtils]: 43: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:36:56,893 INFO L290 TraceCheckUtils]: 44: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:36:56,894 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-15 15:36:56,894 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-15 15:36:56,894 INFO L290 TraceCheckUtils]: 47: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:36:56,894 INFO L290 TraceCheckUtils]: 48: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:36:56,894 INFO L290 TraceCheckUtils]: 49: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:36:56,894 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-15 15:36:56,894 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-15 15:36:56,894 INFO L290 TraceCheckUtils]: 52: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:36:56,894 INFO L290 TraceCheckUtils]: 53: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:36:56,895 INFO L290 TraceCheckUtils]: 54: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:36:56,895 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-15 15:36:56,895 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-15 15:36:56,896 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-15 15:36:56,896 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-15 15:36:56,896 INFO L290 TraceCheckUtils]: 59: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:36:56,896 INFO L290 TraceCheckUtils]: 60: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:36:56,896 INFO L290 TraceCheckUtils]: 61: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:36:56,897 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-15 15:36:56,897 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-15 15:36:56,897 INFO L290 TraceCheckUtils]: 64: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:36:56,897 INFO L290 TraceCheckUtils]: 65: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:36:56,897 INFO L290 TraceCheckUtils]: 66: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:36:56,897 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-15 15:36:56,898 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-15 15:36:56,901 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-15 15:36:56,901 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-15 15:36:56,902 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-15 15:36:56,902 INFO L290 TraceCheckUtils]: 72: Hoare triple {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3713#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:56,902 INFO L290 TraceCheckUtils]: 73: Hoare triple {3713#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3487#false} is VALID [2022-04-15 15:36:56,902 INFO L290 TraceCheckUtils]: 74: Hoare triple {3487#false} assume !false; {3487#false} is VALID [2022-04-15 15:36:56,903 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-15 15:36:56,903 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:03,175 INFO L290 TraceCheckUtils]: 74: Hoare triple {3487#false} assume !false; {3487#false} is VALID [2022-04-15 15:37:03,175 INFO L290 TraceCheckUtils]: 73: Hoare triple {3713#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3487#false} is VALID [2022-04-15 15:37:03,176 INFO L290 TraceCheckUtils]: 72: Hoare triple {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3713#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:03,176 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-15 15:37:03,177 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-15 15:37:03,178 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-15 15:37:03,189 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-15 15:37:03,189 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-15 15:37:03,190 INFO L290 TraceCheckUtils]: 66: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:03,190 INFO L290 TraceCheckUtils]: 65: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:03,190 INFO L290 TraceCheckUtils]: 64: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:03,190 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-15 15:37:03,190 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-15 15:37:03,190 INFO L290 TraceCheckUtils]: 61: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:03,190 INFO L290 TraceCheckUtils]: 60: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:03,191 INFO L290 TraceCheckUtils]: 59: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:03,191 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-15 15:37:03,191 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-15 15:37:03,192 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-15 15:37:03,193 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-15 15:37:03,193 INFO L290 TraceCheckUtils]: 54: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:03,193 INFO L290 TraceCheckUtils]: 53: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:03,193 INFO L290 TraceCheckUtils]: 52: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:03,193 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-15 15:37:03,194 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-15 15:37:03,194 INFO L290 TraceCheckUtils]: 49: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:03,194 INFO L290 TraceCheckUtils]: 48: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:03,194 INFO L290 TraceCheckUtils]: 47: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:03,194 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-15 15:37:03,195 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-15 15:37:03,195 INFO L290 TraceCheckUtils]: 44: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:03,195 INFO L290 TraceCheckUtils]: 43: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:03,195 INFO L290 TraceCheckUtils]: 42: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:03,195 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-15 15:37:03,196 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-15 15:37:03,199 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-15 15:37:03,200 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-15 15:37:03,200 INFO L290 TraceCheckUtils]: 37: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:03,200 INFO L290 TraceCheckUtils]: 36: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:03,200 INFO L290 TraceCheckUtils]: 35: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:03,200 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-15 15:37:03,201 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-15 15:37:03,201 INFO L290 TraceCheckUtils]: 32: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:03,201 INFO L290 TraceCheckUtils]: 31: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:03,201 INFO L290 TraceCheckUtils]: 30: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:03,201 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-15 15:37:03,202 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-15 15:37:03,202 INFO L290 TraceCheckUtils]: 27: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:03,202 INFO L290 TraceCheckUtils]: 26: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:03,202 INFO L290 TraceCheckUtils]: 25: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:03,202 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-15 15:37:03,202 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-15 15:37:03,203 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-15 15:37:03,203 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3486#true} {3486#true} #85#return; {3486#true} is VALID [2022-04-15 15:37:03,203 INFO L290 TraceCheckUtils]: 20: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:03,203 INFO L290 TraceCheckUtils]: 19: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L290 TraceCheckUtils]: 18: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:03,204 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-15 15:37:03,204 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3486#true} {3486#true} #83#return; {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L290 TraceCheckUtils]: 15: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L290 TraceCheckUtils]: 14: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L290 TraceCheckUtils]: 13: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L272 TraceCheckUtils]: 12: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L290 TraceCheckUtils]: 11: Hoare triple {3486#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3486#true} {3486#true} #81#return; {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L290 TraceCheckUtils]: 9: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L290 TraceCheckUtils]: 8: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L290 TraceCheckUtils]: 7: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L272 TraceCheckUtils]: 6: Hoare triple {3486#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {3486#true} is VALID [2022-04-15 15:37:03,204 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-15 15:37:03,204 INFO L272 TraceCheckUtils]: 4: Hoare triple {3486#true} call #t~ret6 := main(); {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3486#true} {3486#true} #101#return; {3486#true} is VALID [2022-04-15 15:37:03,204 INFO L290 TraceCheckUtils]: 2: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:03,204 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-15 15:37:03,205 INFO L272 TraceCheckUtils]: 0: Hoare triple {3486#true} call ULTIMATE.init(); {3486#true} is VALID [2022-04-15 15:37:03,205 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-15 15:37:03,205 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:03,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1459431783] [2022-04-15 15:37:03,205 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:03,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [996205779] [2022-04-15 15:37:03,205 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [996205779] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:37:03,205 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:37:03,206 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-15 15:37:03,206 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:03,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1054603833] [2022-04-15 15:37:03,206 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1054603833] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:03,206 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:03,206 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 15:37:03,206 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [330501693] [2022-04-15 15:37:03,206 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:03,207 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-15 15:37:03,207 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:03,207 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-15 15:37:03,255 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-15 15:37:03,256 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 15:37:03,256 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:03,256 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 15:37:03,256 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-15 15:37:03,257 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-15 15:37:04,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:04,092 INFO L93 Difference]: Finished difference Result 135 states and 165 transitions. [2022-04-15 15:37:04,092 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 15:37:04,092 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-15 15:37:04,093 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:04,093 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-15 15:37:04,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-04-15 15:37:04,095 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-15 15:37:04,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-04-15 15:37:04,097 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 102 transitions. [2022-04-15 15:37:04,197 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-15 15:37:04,200 INFO L225 Difference]: With dead ends: 135 [2022-04-15 15:37:04,200 INFO L226 Difference]: Without dead ends: 108 [2022-04-15 15:37:04,201 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 136 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-15 15:37:04,201 INFO L913 BasicCegarLoop]: 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-15 15:37:04,201 INFO L914 BasicCegarLoop]: 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-15 15:37:04,202 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-15 15:37:04,272 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 106. [2022-04-15 15:37:04,272 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:04,273 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-15 15:37:04,280 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-15 15:37:04,281 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-15 15:37:04,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:04,286 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-15 15:37:04,286 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-15 15:37:04,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:04,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:04,288 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-15 15:37:04,289 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-15 15:37:04,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:04,293 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-15 15:37:04,293 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-15 15:37:04,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:04,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:04,293 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:04,293 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:04,296 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-15 15:37:04,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 125 transitions. [2022-04-15 15:37:04,300 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 125 transitions. Word has length 75 [2022-04-15 15:37:04,300 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:04,300 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 125 transitions. [2022-04-15 15:37:04,300 INFO L479 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-15 15:37:04,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 125 transitions. [2022-04-15 15:37:04,440 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-15 15:37:04,440 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-15 15:37:04,441 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-15 15:37:04,441 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:04,441 INFO L499 BasicCegarLoop]: 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-15 15:37:04,457 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-15 15:37:04,643 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:04,643 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:04,644 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:04,644 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-15 15:37:04,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:04,644 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1940162600] [2022-04-15 15:37:04,644 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:04,644 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-15 15:37:04,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:04,644 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1879933675] [2022-04-15 15:37:04,644 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:04,644 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:04,656 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:04,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [589237758] [2022-04-15 15:37:04,656 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:37:04,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:04,657 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:04,657 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-15 15:37:04,667 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-15 15:37:04,703 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:37:04,703 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:04,704 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 15:37:04,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:04,722 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:05,550 INFO L272 TraceCheckUtils]: 0: Hoare triple {4649#true} call ULTIMATE.init(); {4649#true} is VALID [2022-04-15 15:37:05,551 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-15 15:37:05,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,551 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4649#true} {4649#true} #101#return; {4649#true} is VALID [2022-04-15 15:37:05,551 INFO L272 TraceCheckUtils]: 4: Hoare triple {4649#true} call #t~ret6 := main(); {4649#true} is VALID [2022-04-15 15:37:05,551 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-15 15:37:05,551 INFO L272 TraceCheckUtils]: 6: Hoare triple {4649#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:05,551 INFO L290 TraceCheckUtils]: 7: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:05,551 INFO L290 TraceCheckUtils]: 8: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:05,551 INFO L290 TraceCheckUtils]: 9: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,551 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4649#true} {4649#true} #81#return; {4649#true} is VALID [2022-04-15 15:37:05,551 INFO L290 TraceCheckUtils]: 11: Hoare triple {4649#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4649#true} is VALID [2022-04-15 15:37:05,551 INFO L272 TraceCheckUtils]: 12: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:05,552 INFO L290 TraceCheckUtils]: 13: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:05,552 INFO L290 TraceCheckUtils]: 14: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:05,552 INFO L290 TraceCheckUtils]: 15: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,552 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4649#true} {4649#true} #83#return; {4649#true} is VALID [2022-04-15 15:37:05,552 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-15 15:37:05,552 INFO L290 TraceCheckUtils]: 18: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:05,552 INFO L290 TraceCheckUtils]: 19: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:05,552 INFO L290 TraceCheckUtils]: 20: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,552 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4649#true} {4649#true} #85#return; {4649#true} is VALID [2022-04-15 15:37:05,553 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-15 15:37:05,553 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-15 15:37:05,553 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-15 15:37:05,553 INFO L290 TraceCheckUtils]: 25: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:05,553 INFO L290 TraceCheckUtils]: 26: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:05,553 INFO L290 TraceCheckUtils]: 27: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,554 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-15 15:37:05,554 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-15 15:37:05,554 INFO L290 TraceCheckUtils]: 30: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:05,554 INFO L290 TraceCheckUtils]: 31: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:05,554 INFO L290 TraceCheckUtils]: 32: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,555 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-15 15:37:05,555 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-15 15:37:05,556 INFO L290 TraceCheckUtils]: 35: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:05,556 INFO L290 TraceCheckUtils]: 36: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:05,556 INFO L290 TraceCheckUtils]: 37: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,556 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-15 15:37:05,557 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-15 15:37:05,557 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-15 15:37:05,557 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-15 15:37:05,557 INFO L290 TraceCheckUtils]: 42: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:05,557 INFO L290 TraceCheckUtils]: 43: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:05,557 INFO L290 TraceCheckUtils]: 44: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,558 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-15 15:37:05,558 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-15 15:37:05,558 INFO L290 TraceCheckUtils]: 47: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:05,558 INFO L290 TraceCheckUtils]: 48: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:05,558 INFO L290 TraceCheckUtils]: 49: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,559 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-15 15:37:05,559 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-15 15:37:05,559 INFO L290 TraceCheckUtils]: 52: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:05,559 INFO L290 TraceCheckUtils]: 53: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:05,559 INFO L290 TraceCheckUtils]: 54: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,563 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-15 15:37:05,565 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-15 15:37:05,565 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-15 15:37:05,565 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-15 15:37:05,565 INFO L290 TraceCheckUtils]: 59: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:05,566 INFO L290 TraceCheckUtils]: 60: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:05,566 INFO L290 TraceCheckUtils]: 61: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,566 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-15 15:37:05,566 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-15 15:37:05,567 INFO L290 TraceCheckUtils]: 64: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:05,567 INFO L290 TraceCheckUtils]: 65: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:05,567 INFO L290 TraceCheckUtils]: 66: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,567 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-15 15:37:05,569 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-15 15:37:05,569 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-15 15:37:05,569 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-15 15:37:05,570 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-15 15:37:05,570 INFO L290 TraceCheckUtils]: 72: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:05,570 INFO L290 TraceCheckUtils]: 73: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:05,570 INFO L290 TraceCheckUtils]: 74: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:05,570 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-15 15:37:05,571 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-15 15:37:05,571 INFO L290 TraceCheckUtils]: 77: Hoare triple {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:05,571 INFO L290 TraceCheckUtils]: 78: Hoare triple {4890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4650#false} is VALID [2022-04-15 15:37:05,571 INFO L290 TraceCheckUtils]: 79: Hoare triple {4650#false} assume !false; {4650#false} is VALID [2022-04-15 15:37:05,572 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-15 15:37:05,572 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:10,014 INFO L290 TraceCheckUtils]: 79: Hoare triple {4650#false} assume !false; {4650#false} is VALID [2022-04-15 15:37:10,014 INFO L290 TraceCheckUtils]: 78: Hoare triple {4890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4650#false} is VALID [2022-04-15 15:37:10,015 INFO L290 TraceCheckUtils]: 77: Hoare triple {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:10,015 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-15 15:37:10,016 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-15 15:37:10,016 INFO L290 TraceCheckUtils]: 74: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,016 INFO L290 TraceCheckUtils]: 73: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:10,016 INFO L290 TraceCheckUtils]: 72: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:10,017 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-15 15:37:10,017 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-15 15:37:10,017 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-15 15:37:10,028 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-15 15:37:10,029 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-15 15:37:10,029 INFO L290 TraceCheckUtils]: 66: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,029 INFO L290 TraceCheckUtils]: 65: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:10,029 INFO L290 TraceCheckUtils]: 64: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:10,029 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-15 15:37:10,029 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-15 15:37:10,029 INFO L290 TraceCheckUtils]: 61: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,030 INFO L290 TraceCheckUtils]: 60: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:10,030 INFO L290 TraceCheckUtils]: 59: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:10,030 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-15 15:37:10,031 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-15 15:37:10,032 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-15 15:37:10,032 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-15 15:37:10,032 INFO L290 TraceCheckUtils]: 54: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,032 INFO L290 TraceCheckUtils]: 53: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:10,032 INFO L290 TraceCheckUtils]: 52: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:10,032 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-15 15:37:10,033 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-15 15:37:10,033 INFO L290 TraceCheckUtils]: 49: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,033 INFO L290 TraceCheckUtils]: 48: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:10,034 INFO L290 TraceCheckUtils]: 47: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:10,034 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-15 15:37:10,034 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-15 15:37:10,034 INFO L290 TraceCheckUtils]: 44: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,034 INFO L290 TraceCheckUtils]: 43: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:10,034 INFO L290 TraceCheckUtils]: 42: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:10,034 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-15 15:37:10,037 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-15 15:37:10,042 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-15 15:37:10,043 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-15 15:37:10,043 INFO L290 TraceCheckUtils]: 37: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,043 INFO L290 TraceCheckUtils]: 36: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:10,043 INFO L290 TraceCheckUtils]: 35: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:10,043 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-15 15:37:10,044 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-15 15:37:10,044 INFO L290 TraceCheckUtils]: 32: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,044 INFO L290 TraceCheckUtils]: 31: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:10,044 INFO L290 TraceCheckUtils]: 30: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:10,044 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-15 15:37:10,045 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-15 15:37:10,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,045 INFO L290 TraceCheckUtils]: 26: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:10,045 INFO L290 TraceCheckUtils]: 25: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:10,045 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-15 15:37:10,045 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-15 15:37:10,046 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-15 15:37:10,046 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4649#true} {4649#true} #85#return; {4649#true} is VALID [2022-04-15 15:37:10,046 INFO L290 TraceCheckUtils]: 20: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,046 INFO L290 TraceCheckUtils]: 19: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:10,046 INFO L290 TraceCheckUtils]: 18: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:10,046 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-15 15:37:10,046 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4649#true} {4649#true} #83#return; {4649#true} is VALID [2022-04-15 15:37:10,047 INFO L290 TraceCheckUtils]: 15: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,047 INFO L290 TraceCheckUtils]: 14: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:10,047 INFO L290 TraceCheckUtils]: 13: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:10,047 INFO L272 TraceCheckUtils]: 12: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:10,047 INFO L290 TraceCheckUtils]: 11: Hoare triple {4649#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4649#true} is VALID [2022-04-15 15:37:10,047 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4649#true} {4649#true} #81#return; {4649#true} is VALID [2022-04-15 15:37:10,047 INFO L290 TraceCheckUtils]: 9: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,047 INFO L290 TraceCheckUtils]: 8: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:10,047 INFO L290 TraceCheckUtils]: 7: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:10,047 INFO L272 TraceCheckUtils]: 6: Hoare triple {4649#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:10,047 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-15 15:37:10,047 INFO L272 TraceCheckUtils]: 4: Hoare triple {4649#true} call #t~ret6 := main(); {4649#true} is VALID [2022-04-15 15:37:10,048 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4649#true} {4649#true} #101#return; {4649#true} is VALID [2022-04-15 15:37:10,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:10,048 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-15 15:37:10,048 INFO L272 TraceCheckUtils]: 0: Hoare triple {4649#true} call ULTIMATE.init(); {4649#true} is VALID [2022-04-15 15:37:10,048 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-15 15:37:10,048 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:10,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1879933675] [2022-04-15 15:37:10,049 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:10,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [589237758] [2022-04-15 15:37:10,049 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [589237758] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:37:10,049 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:37:10,049 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-15 15:37:10,049 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:10,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1940162600] [2022-04-15 15:37:10,049 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1940162600] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:10,049 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:10,049 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 15:37:10,050 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1483769442] [2022-04-15 15:37:10,050 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:10,050 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-15 15:37:10,050 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:10,050 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-15 15:37:10,099 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-15 15:37:10,100 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 15:37:10,100 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:10,100 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 15:37:10,100 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-15 15:37:10,100 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-15 15:37:10,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:10,902 INFO L93 Difference]: Finished difference Result 133 states and 159 transitions. [2022-04-15 15:37:10,902 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 15:37:10,902 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-15 15:37:10,902 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:10,903 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-15 15:37:10,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2022-04-15 15:37:10,905 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-15 15:37:10,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2022-04-15 15:37:10,908 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 98 transitions. [2022-04-15 15:37:11,015 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-15 15:37:11,019 INFO L225 Difference]: With dead ends: 133 [2022-04-15 15:37:11,019 INFO L226 Difference]: Without dead ends: 110 [2022-04-15 15:37:11,019 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 148 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-15 15:37:11,020 INFO L913 BasicCegarLoop]: 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-15 15:37:11,020 INFO L914 BasicCegarLoop]: 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-15 15:37:11,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-15 15:37:11,087 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-15 15:37:11,087 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:11,088 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-15 15:37:11,088 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-15 15:37:11,088 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-15 15:37:11,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:11,100 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-15 15:37:11,100 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-15 15:37:11,100 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:11,100 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:11,101 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-15 15:37:11,101 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-15 15:37:11,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:11,104 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-15 15:37:11,104 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-15 15:37:11,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:11,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:11,104 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:11,104 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:11,105 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-15 15:37:11,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 126 transitions. [2022-04-15 15:37:11,109 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 126 transitions. Word has length 80 [2022-04-15 15:37:11,110 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:11,110 INFO L478 AbstractCegarLoop]: Abstraction has 110 states and 126 transitions. [2022-04-15 15:37:11,110 INFO L479 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-15 15:37:11,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 126 transitions. [2022-04-15 15:37:11,254 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-15 15:37:11,254 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-15 15:37:11,254 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 15:37:11,255 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:11,255 INFO L499 BasicCegarLoop]: 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-15 15:37:11,271 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-15 15:37:11,459 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:11,459 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:11,460 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:11,460 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-15 15:37:11,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:11,460 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1598333181] [2022-04-15 15:37:11,460 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:11,460 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-15 15:37:11,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:11,460 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1657862815] [2022-04-15 15:37:11,460 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:11,461 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:11,474 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:11,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [891166252] [2022-04-15 15:37:11,474 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:11,474 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:11,474 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:11,475 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-15 15:37:11,484 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-15 15:37:11,529 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:11,529 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:11,530 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-15 15:37:11,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:11,545 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:35,439 INFO L272 TraceCheckUtils]: 0: Hoare triple {5850#true} call ULTIMATE.init(); {5850#true} is VALID [2022-04-15 15:37:35,439 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-15 15:37:35,439 INFO L290 TraceCheckUtils]: 2: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:37:35,439 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5850#true} {5850#true} #101#return; {5850#true} is VALID [2022-04-15 15:37:35,439 INFO L272 TraceCheckUtils]: 4: Hoare triple {5850#true} call #t~ret6 := main(); {5850#true} is VALID [2022-04-15 15:37:35,439 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-15 15:37:35,439 INFO L272 TraceCheckUtils]: 6: Hoare triple {5850#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:37:35,439 INFO L290 TraceCheckUtils]: 7: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:37:35,439 INFO L290 TraceCheckUtils]: 8: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:37:35,439 INFO L290 TraceCheckUtils]: 9: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:37:35,439 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5850#true} {5850#true} #81#return; {5850#true} is VALID [2022-04-15 15:37:35,439 INFO L290 TraceCheckUtils]: 11: Hoare triple {5850#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5850#true} is VALID [2022-04-15 15:37:35,440 INFO L272 TraceCheckUtils]: 12: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:37:35,440 INFO L290 TraceCheckUtils]: 13: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:37:35,440 INFO L290 TraceCheckUtils]: 14: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:37:35,440 INFO L290 TraceCheckUtils]: 15: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:37:35,440 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5850#true} {5850#true} #83#return; {5850#true} is VALID [2022-04-15 15:37:35,440 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-15 15:37:35,440 INFO L290 TraceCheckUtils]: 18: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:37:35,440 INFO L290 TraceCheckUtils]: 19: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:37:35,440 INFO L290 TraceCheckUtils]: 20: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:37:35,440 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5850#true} {5850#true} #85#return; {5850#true} is VALID [2022-04-15 15:37:35,440 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-15 15:37:35,441 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-15 15:37:35,441 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-15 15:37:35,441 INFO L290 TraceCheckUtils]: 25: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:37:35,441 INFO L290 TraceCheckUtils]: 26: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:37:35,441 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:37:35,442 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-15 15:37:35,442 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-15 15:37:35,442 INFO L290 TraceCheckUtils]: 30: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:37:35,442 INFO L290 TraceCheckUtils]: 31: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:37:35,442 INFO L290 TraceCheckUtils]: 32: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:37:35,442 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-15 15:37:35,443 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-15 15:37:35,443 INFO L290 TraceCheckUtils]: 35: Hoare triple {5850#true} ~cond := #in~cond; {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:35,443 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-15 15:37:35,443 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-15 15:37:35,444 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-15 15:37:35,445 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-15 15:37:35,445 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-15 15:37:35,445 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-15 15:37:35,445 INFO L290 TraceCheckUtils]: 42: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:37:35,445 INFO L290 TraceCheckUtils]: 43: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:37:35,445 INFO L290 TraceCheckUtils]: 44: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:37:35,446 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-15 15:37:35,446 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-15 15:37:35,446 INFO L290 TraceCheckUtils]: 47: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:37:35,446 INFO L290 TraceCheckUtils]: 48: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:37:35,446 INFO L290 TraceCheckUtils]: 49: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:37:35,447 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-15 15:37:35,447 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-15 15:37:35,447 INFO L290 TraceCheckUtils]: 52: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:37:35,447 INFO L290 TraceCheckUtils]: 53: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:37:35,447 INFO L290 TraceCheckUtils]: 54: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:37:35,447 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-15 15:37:35,451 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-15 15:37:35,452 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-15 15:37:35,452 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-15 15:37:35,452 INFO L290 TraceCheckUtils]: 59: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:37:35,452 INFO L290 TraceCheckUtils]: 60: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:37:35,452 INFO L290 TraceCheckUtils]: 61: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:37:35,453 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-15 15:37:35,453 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-15 15:37:35,453 INFO L290 TraceCheckUtils]: 64: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:37:35,453 INFO L290 TraceCheckUtils]: 65: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:37:35,453 INFO L290 TraceCheckUtils]: 66: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:37:35,454 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-15 15:37:35,456 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-15 15:37:35,457 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-15 15:37:35,458 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-15 15:37:35,458 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-15 15:37:35,458 INFO L290 TraceCheckUtils]: 72: Hoare triple {5850#true} ~cond := #in~cond; {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:35,459 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-15 15:37:35,459 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-15 15:37:35,467 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-15 15:37:35,467 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-15 15:37:35,467 INFO L290 TraceCheckUtils]: 77: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:37:35,467 INFO L290 TraceCheckUtils]: 78: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:37:35,468 INFO L290 TraceCheckUtils]: 79: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:37:35,468 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-15 15:37:35,469 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-15 15:37:35,470 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-15 15:37:35,471 INFO L290 TraceCheckUtils]: 83: Hoare triple {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6115#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:35,471 INFO L290 TraceCheckUtils]: 84: Hoare triple {6115#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5851#false} is VALID [2022-04-15 15:37:35,471 INFO L290 TraceCheckUtils]: 85: Hoare triple {5851#false} assume !false; {5851#false} is VALID [2022-04-15 15:37:35,472 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-15 15:37:35,472 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:39:38,741 INFO L290 TraceCheckUtils]: 85: Hoare triple {5851#false} assume !false; {5851#false} is VALID [2022-04-15 15:39:38,742 INFO L290 TraceCheckUtils]: 84: Hoare triple {6115#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5851#false} is VALID [2022-04-15 15:39:38,742 INFO L290 TraceCheckUtils]: 83: Hoare triple {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6115#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:39:38,743 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-15 15:39:38,743 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-15 15:39:38,744 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-15 15:39:38,744 INFO L290 TraceCheckUtils]: 79: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:39:38,744 INFO L290 TraceCheckUtils]: 78: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:39:38,744 INFO L290 TraceCheckUtils]: 77: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:39:38,744 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-15 15:39:38,745 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-15 15:39:38,745 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-15 15:39:38,745 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-15 15:39:38,746 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-15 15:39:38,746 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-15 15:39:38,746 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-15 15:39:38,751 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-15 15:39:38,756 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-15 15:39:38,756 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-15 15:39:38,756 INFO L290 TraceCheckUtils]: 66: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:39:38,756 INFO L290 TraceCheckUtils]: 65: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:39:38,757 INFO L290 TraceCheckUtils]: 64: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:39:38,757 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-15 15:39:38,757 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-15 15:39:38,757 INFO L290 TraceCheckUtils]: 61: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:39:38,757 INFO L290 TraceCheckUtils]: 60: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:39:38,757 INFO L290 TraceCheckUtils]: 59: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:39:38,757 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-15 15:39:38,758 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-15 15:39:38,759 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-15 15:39:38,760 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-15 15:39:38,760 INFO L290 TraceCheckUtils]: 54: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:39:38,760 INFO L290 TraceCheckUtils]: 53: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:39:38,760 INFO L290 TraceCheckUtils]: 52: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:39:38,760 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-15 15:39:38,760 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-15 15:39:38,761 INFO L290 TraceCheckUtils]: 49: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:39:38,761 INFO L290 TraceCheckUtils]: 48: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:39:38,761 INFO L290 TraceCheckUtils]: 47: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:39:38,761 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-15 15:39:38,761 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-15 15:39:38,761 INFO L290 TraceCheckUtils]: 44: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:39:38,761 INFO L290 TraceCheckUtils]: 43: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:39:38,761 INFO L290 TraceCheckUtils]: 42: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:39:38,761 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-15 15:39:38,762 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-15 15:39:38,765 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-15 15:39:38,766 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-15 15:39:38,766 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-15 15:39:38,767 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-15 15:39:38,767 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-15 15:39:38,767 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-15 15:39:38,768 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-15 15:39:38,768 INFO L290 TraceCheckUtils]: 32: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:39:38,768 INFO L290 TraceCheckUtils]: 31: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:39:38,768 INFO L290 TraceCheckUtils]: 30: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:39:38,768 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-15 15:39:38,769 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-15 15:39:38,769 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:39:38,769 INFO L290 TraceCheckUtils]: 26: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:39:38,769 INFO L290 TraceCheckUtils]: 25: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:39:38,769 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-15 15:39:38,770 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-15 15:39:38,771 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-15 15:39:38,771 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5850#true} {5850#true} #85#return; {5850#true} is VALID [2022-04-15 15:39:38,771 INFO L290 TraceCheckUtils]: 20: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:39:38,771 INFO L290 TraceCheckUtils]: 19: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:39:38,771 INFO L290 TraceCheckUtils]: 18: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:39:38,771 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-15 15:39:38,771 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5850#true} {5850#true} #83#return; {5850#true} is VALID [2022-04-15 15:39:38,771 INFO L290 TraceCheckUtils]: 15: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:39:38,771 INFO L290 TraceCheckUtils]: 14: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:39:38,772 INFO L290 TraceCheckUtils]: 13: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:39:38,772 INFO L272 TraceCheckUtils]: 12: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:39:38,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {5850#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5850#true} is VALID [2022-04-15 15:39:38,772 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5850#true} {5850#true} #81#return; {5850#true} is VALID [2022-04-15 15:39:38,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:39:38,772 INFO L290 TraceCheckUtils]: 8: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:39:38,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:39:38,772 INFO L272 TraceCheckUtils]: 6: Hoare triple {5850#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:39:38,772 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-15 15:39:38,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {5850#true} call #t~ret6 := main(); {5850#true} is VALID [2022-04-15 15:39:38,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5850#true} {5850#true} #101#return; {5850#true} is VALID [2022-04-15 15:39:38,773 INFO L290 TraceCheckUtils]: 2: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:39:38,773 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-15 15:39:38,773 INFO L272 TraceCheckUtils]: 0: Hoare triple {5850#true} call ULTIMATE.init(); {5850#true} is VALID [2022-04-15 15:39:38,773 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-15 15:39:38,773 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:39:38,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1657862815] [2022-04-15 15:39:38,774 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:39:38,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [891166252] [2022-04-15 15:39:38,774 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [891166252] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:39:38,774 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:39:38,774 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 23 [2022-04-15 15:39:38,774 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:39:38,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1598333181] [2022-04-15 15:39:38,774 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1598333181] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:39:38,774 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:39:38,775 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 15:39:38,775 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1098884736] [2022-04-15 15:39:38,775 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:39:38,775 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-15 15:39:38,775 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:39:38,776 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-15 15:39:38,848 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-15 15:39:38,849 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 15:39:38,849 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:39:38,849 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 15:39:38,849 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=410, Unknown=0, NotChecked=0, Total=506 [2022-04-15 15:39:38,849 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-15 15:39:42,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:39:42,155 INFO L93 Difference]: Finished difference Result 116 states and 131 transitions. [2022-04-15 15:39:42,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 15:39:42,155 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-15 15:39:42,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:39:42,156 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-15 15:39:42,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 79 transitions. [2022-04-15 15:39:42,158 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-15 15:39:42,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 79 transitions. [2022-04-15 15:39:42,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 79 transitions. [2022-04-15 15:39:42,245 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-15 15:39:42,247 INFO L225 Difference]: With dead ends: 116 [2022-04-15 15:39:42,247 INFO L226 Difference]: Without dead ends: 88 [2022-04-15 15:39:42,247 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 149 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 109 ImplicationChecksByTransitivity, 7.6s TimeCoverageRelationStatistics Valid=135, Invalid=567, Unknown=0, NotChecked=0, Total=702 [2022-04-15 15:39:42,248 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 17 mSDsluCounter, 162 mSDsCounter, 0 mSdLazyCounter, 337 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-15 15:39:42,248 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 198 Invalid, 352 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 337 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 15:39:42,248 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-15 15:39:42,293 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 88. [2022-04-15 15:39:42,293 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:39:42,294 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-15 15:39:42,294 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-15 15:39:42,294 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-15 15:39:42,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:39:42,296 INFO L93 Difference]: Finished difference Result 88 states and 102 transitions. [2022-04-15 15:39:42,296 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-15 15:39:42,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:39:42,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:39:42,297 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-15 15:39:42,297 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-15 15:39:42,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:39:42,299 INFO L93 Difference]: Finished difference Result 88 states and 102 transitions. [2022-04-15 15:39:42,300 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-15 15:39:42,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:39:42,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:39:42,300 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:39:42,300 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:39:42,300 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-15 15:39:42,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 102 transitions. [2022-04-15 15:39:42,302 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 102 transitions. Word has length 86 [2022-04-15 15:39:42,302 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:39:42,303 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 102 transitions. [2022-04-15 15:39:42,303 INFO L479 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-15 15:39:42,303 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 102 transitions. [2022-04-15 15:39:42,424 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-15 15:39:42,424 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-15 15:39:42,425 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 15:39:42,425 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:39:42,425 INFO L499 BasicCegarLoop]: 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-15 15:39:42,441 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-15 15:39:42,627 WARN L460 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-15 15:39:42,627 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:39:42,628 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:39:42,628 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 5 times [2022-04-15 15:39:42,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:39:42,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [16095448] [2022-04-15 15:39:42,628 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:39:42,628 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 6 times [2022-04-15 15:39:42,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:39:42,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1275266347] [2022-04-15 15:39:42,628 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:39:42,629 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:39:42,656 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:39:42,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1028867110] [2022-04-15 15:39:42,656 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:39:42,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:39:42,656 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:39:42,657 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-15 15:39:42,660 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-15 15:39:42,701 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 15:39:42,701 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:39:42,702 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 15:39:42,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:39:42,721 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:40:58,589 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:40:59,226 INFO L272 TraceCheckUtils]: 0: Hoare triple {6980#true} call ULTIMATE.init(); {6980#true} is VALID [2022-04-15 15:40:59,227 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-15 15:40:59,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6980#true} {6980#true} #101#return; {6980#true} is VALID [2022-04-15 15:40:59,227 INFO L272 TraceCheckUtils]: 4: Hoare triple {6980#true} call #t~ret6 := main(); {6980#true} is VALID [2022-04-15 15:40:59,227 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-15 15:40:59,227 INFO L272 TraceCheckUtils]: 6: Hoare triple {6980#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:40:59,227 INFO L290 TraceCheckUtils]: 7: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,227 INFO L290 TraceCheckUtils]: 8: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,227 INFO L290 TraceCheckUtils]: 9: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,228 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6980#true} {6980#true} #81#return; {6980#true} is VALID [2022-04-15 15:40:59,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {6980#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6980#true} is VALID [2022-04-15 15:40:59,228 INFO L272 TraceCheckUtils]: 12: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:40:59,228 INFO L290 TraceCheckUtils]: 13: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,228 INFO L290 TraceCheckUtils]: 14: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,228 INFO L290 TraceCheckUtils]: 15: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,228 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6980#true} {6980#true} #83#return; {6980#true} is VALID [2022-04-15 15:40:59,228 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-15 15:40:59,228 INFO L290 TraceCheckUtils]: 18: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,228 INFO L290 TraceCheckUtils]: 19: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,228 INFO L290 TraceCheckUtils]: 20: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,228 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6980#true} {6980#true} #85#return; {6980#true} is VALID [2022-04-15 15:40:59,229 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-15 15:40:59,229 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-15 15:40:59,229 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-15 15:40:59,229 INFO L290 TraceCheckUtils]: 25: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,229 INFO L290 TraceCheckUtils]: 26: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,229 INFO L290 TraceCheckUtils]: 27: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,230 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-15 15:40:59,230 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-15 15:40:59,230 INFO L290 TraceCheckUtils]: 30: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,230 INFO L290 TraceCheckUtils]: 31: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,230 INFO L290 TraceCheckUtils]: 32: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,230 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-15 15:40:59,230 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-15 15:40:59,231 INFO L290 TraceCheckUtils]: 35: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,231 INFO L290 TraceCheckUtils]: 36: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,231 INFO L290 TraceCheckUtils]: 37: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,231 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-15 15:40:59,232 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-15 15:40:59,232 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-15 15:40:59,232 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-15 15:40:59,232 INFO L290 TraceCheckUtils]: 42: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,232 INFO L290 TraceCheckUtils]: 43: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,232 INFO L290 TraceCheckUtils]: 44: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,233 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-15 15:40:59,233 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-15 15:40:59,233 INFO L290 TraceCheckUtils]: 47: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,233 INFO L290 TraceCheckUtils]: 48: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,233 INFO L290 TraceCheckUtils]: 49: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,233 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-15 15:40:59,233 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-15 15:40:59,233 INFO L290 TraceCheckUtils]: 52: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,233 INFO L290 TraceCheckUtils]: 53: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,233 INFO L290 TraceCheckUtils]: 54: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,234 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-15 15:40:59,235 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-15 15:40:59,236 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-15 15:40:59,236 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-15 15:40:59,236 INFO L290 TraceCheckUtils]: 59: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,236 INFO L290 TraceCheckUtils]: 60: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,236 INFO L290 TraceCheckUtils]: 61: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,236 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-15 15:40:59,236 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-15 15:40:59,236 INFO L290 TraceCheckUtils]: 64: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,236 INFO L290 TraceCheckUtils]: 65: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,237 INFO L290 TraceCheckUtils]: 66: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,237 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-15 15:40:59,237 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-15 15:40:59,237 INFO L290 TraceCheckUtils]: 69: Hoare triple {6980#true} ~cond := #in~cond; {7194#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:40:59,238 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-15 15:40:59,238 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-15 15:40:59,239 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-15 15:40:59,239 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-15 15:40:59,239 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-15 15:40:59,240 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-15 15:40:59,240 INFO L290 TraceCheckUtils]: 76: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,240 INFO L290 TraceCheckUtils]: 77: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,240 INFO L290 TraceCheckUtils]: 78: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,240 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-15 15:40:59,240 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-15 15:40:59,240 INFO L290 TraceCheckUtils]: 81: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:40:59,241 INFO L290 TraceCheckUtils]: 82: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:40:59,241 INFO L290 TraceCheckUtils]: 83: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:40:59,241 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-15 15:40:59,248 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-15 15:40:59,251 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-15 15:40:59,252 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-15 15:40:59,252 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-15 15:40:59,253 INFO L290 TraceCheckUtils]: 89: Hoare triple {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7260#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:40:59,253 INFO L290 TraceCheckUtils]: 90: Hoare triple {7260#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6981#false} is VALID [2022-04-15 15:40:59,253 INFO L290 TraceCheckUtils]: 91: Hoare triple {6981#false} assume !false; {6981#false} is VALID [2022-04-15 15:40:59,254 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-15 15:40:59,254 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:41:59,217 WARN L232 SmtUtils]: Spent 30.91s 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-15 15:42:56,636 INFO L290 TraceCheckUtils]: 91: Hoare triple {6981#false} assume !false; {6981#false} is VALID [2022-04-15 15:42:56,636 INFO L290 TraceCheckUtils]: 90: Hoare triple {7260#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6981#false} is VALID [2022-04-15 15:42:56,637 INFO L290 TraceCheckUtils]: 89: Hoare triple {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7260#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:42:56,637 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-15 15:42:56,638 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-15 15:42:56,640 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-15 15:42:56,650 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-15 15:42:56,651 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-15 15:42:56,651 INFO L290 TraceCheckUtils]: 83: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,651 INFO L290 TraceCheckUtils]: 82: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,651 INFO L290 TraceCheckUtils]: 81: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,651 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-15 15:42:56,652 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-15 15:42:56,652 INFO L290 TraceCheckUtils]: 78: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,652 INFO L290 TraceCheckUtils]: 77: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,652 INFO L290 TraceCheckUtils]: 76: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,652 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-15 15:42:56,653 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-15 15:42:56,655 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-15 15:42:56,657 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-15 15:42:56,657 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-15 15:42:56,658 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-15 15:42:56,658 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-15 15:42:56,658 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-15 15:42:56,659 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-15 15:42:56,659 INFO L290 TraceCheckUtils]: 66: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,659 INFO L290 TraceCheckUtils]: 65: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,659 INFO L290 TraceCheckUtils]: 64: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,659 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-15 15:42:56,659 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-15 15:42:56,660 INFO L290 TraceCheckUtils]: 61: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,660 INFO L290 TraceCheckUtils]: 60: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,660 INFO L290 TraceCheckUtils]: 59: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,660 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-15 15:42:56,661 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-15 15:42:56,666 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-15 15:42:56,667 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-15 15:42:56,667 INFO L290 TraceCheckUtils]: 54: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,667 INFO L290 TraceCheckUtils]: 53: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,667 INFO L290 TraceCheckUtils]: 52: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,667 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-15 15:42:56,668 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-15 15:42:56,668 INFO L290 TraceCheckUtils]: 49: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,668 INFO L290 TraceCheckUtils]: 48: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,668 INFO L290 TraceCheckUtils]: 47: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,668 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-15 15:42:56,669 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-15 15:42:56,669 INFO L290 TraceCheckUtils]: 44: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,669 INFO L290 TraceCheckUtils]: 43: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,669 INFO L290 TraceCheckUtils]: 42: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,669 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-15 15:42:56,669 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-15 15:42:56,670 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-15 15:42:56,670 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-15 15:42:56,670 INFO L290 TraceCheckUtils]: 37: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,670 INFO L290 TraceCheckUtils]: 36: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,670 INFO L290 TraceCheckUtils]: 35: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,670 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-15 15:42:56,671 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-15 15:42:56,671 INFO L290 TraceCheckUtils]: 32: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,671 INFO L290 TraceCheckUtils]: 31: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,671 INFO L290 TraceCheckUtils]: 30: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,671 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-15 15:42:56,672 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-15 15:42:56,672 INFO L290 TraceCheckUtils]: 27: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,672 INFO L290 TraceCheckUtils]: 26: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,672 INFO L290 TraceCheckUtils]: 25: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,672 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-15 15:42:56,672 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-15 15:42:56,673 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-15 15:42:56,673 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6980#true} {6980#true} #85#return; {6980#true} is VALID [2022-04-15 15:42:56,673 INFO L290 TraceCheckUtils]: 20: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,673 INFO L290 TraceCheckUtils]: 19: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,673 INFO L290 TraceCheckUtils]: 18: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,673 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-15 15:42:56,673 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6980#true} {6980#true} #83#return; {6980#true} is VALID [2022-04-15 15:42:56,673 INFO L290 TraceCheckUtils]: 15: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,673 INFO L290 TraceCheckUtils]: 14: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,673 INFO L290 TraceCheckUtils]: 13: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,673 INFO L272 TraceCheckUtils]: 12: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:42:56,673 INFO L290 TraceCheckUtils]: 11: Hoare triple {6980#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6980#true} is VALID [2022-04-15 15:42:56,673 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6980#true} {6980#true} #81#return; {6980#true} is VALID [2022-04-15 15:42:56,673 INFO L290 TraceCheckUtils]: 9: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,673 INFO L290 TraceCheckUtils]: 8: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:42:56,674 INFO L290 TraceCheckUtils]: 7: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:42:56,674 INFO L272 TraceCheckUtils]: 6: Hoare triple {6980#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:42:56,674 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-15 15:42:56,674 INFO L272 TraceCheckUtils]: 4: Hoare triple {6980#true} call #t~ret6 := main(); {6980#true} is VALID [2022-04-15 15:42:56,674 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6980#true} {6980#true} #101#return; {6980#true} is VALID [2022-04-15 15:42:56,674 INFO L290 TraceCheckUtils]: 2: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:42:56,674 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-15 15:42:56,674 INFO L272 TraceCheckUtils]: 0: Hoare triple {6980#true} call ULTIMATE.init(); {6980#true} is VALID [2022-04-15 15:42:56,674 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-15 15:42:56,675 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:42:56,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1275266347] [2022-04-15 15:42:56,675 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:42:56,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1028867110] [2022-04-15 15:42:56,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1028867110] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:42:56,675 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:42:56,675 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-15 15:42:56,675 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:42:56,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [16095448] [2022-04-15 15:42:56,676 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [16095448] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:42:56,676 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:42:56,676 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 15:42:56,676 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [843379592] [2022-04-15 15:42:56,676 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:42:56,676 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-15 15:42:56,677 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:42:56,677 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-15 15:42:56,736 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-15 15:42:56,736 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 15:42:56,736 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:42:56,736 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 15:42:56,736 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=163, Unknown=1, NotChecked=0, Total=210 [2022-04-15 15:42:56,737 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-15 15:43:02,786 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-15 15:43:04,817 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-15 15:43:06,254 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.31s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 15:43:06,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:43:06,609 INFO L93 Difference]: Finished difference Result 112 states and 130 transitions. [2022-04-15 15:43:06,610 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 15:43:06,610 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-15 15:43:06,610 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:43:06,610 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-15 15:43:06,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-15 15:43:06,612 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-15 15:43:06,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-15 15:43:06,614 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 92 transitions. [2022-04-15 15:43:06,741 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-15 15:43:06,743 INFO L225 Difference]: With dead ends: 112 [2022-04-15 15:43:06,743 INFO L226 Difference]: Without dead ends: 100 [2022-04-15 15:43:06,743 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 167 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 36.6s TimeCoverageRelationStatistics Valid=59, Invalid=212, Unknown=1, NotChecked=0, Total=272 [2022-04-15 15:43:06,744 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 28 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 34 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 296 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 260 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:43:06,744 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 162 Invalid, 296 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 260 Invalid, 2 Unknown, 0 Unchecked, 6.2s Time] [2022-04-15 15:43:06,745 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-15 15:43:06,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 99. [2022-04-15 15:43:06,800 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:43:06,801 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-15 15:43:06,801 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-15 15:43:06,801 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-15 15:43:06,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:43:06,804 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-15 15:43:06,804 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-15 15:43:06,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:43:06,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:43:06,805 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-15 15:43:06,805 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-15 15:43:06,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:43:06,808 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-15 15:43:06,808 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-15 15:43:06,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:43:06,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:43:06,809 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:43:06,809 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:43:06,809 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-15 15:43:06,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 116 transitions. [2022-04-15 15:43:06,812 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 116 transitions. Word has length 92 [2022-04-15 15:43:06,812 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:43:06,812 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 116 transitions. [2022-04-15 15:43:06,812 INFO L479 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-15 15:43:06,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 116 transitions. [2022-04-15 15:43:06,992 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-15 15:43:06,992 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 116 transitions. [2022-04-15 15:43:06,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-15 15:43:06,993 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:43:06,993 INFO L499 BasicCegarLoop]: 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-15 15:43:07,016 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-15 15:43:07,207 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 15:43:07,208 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:43:07,208 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:43:07,208 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 7 times [2022-04-15 15:43:07,208 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:43:07,208 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [912014928] [2022-04-15 15:43:07,208 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:43:07,209 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 8 times [2022-04-15 15:43:07,209 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:43:07,209 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [546875711] [2022-04-15 15:43:07,209 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:43:07,209 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:43:07,228 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:43:07,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [694866054] [2022-04-15 15:43:07,228 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:43:07,228 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:43:07,228 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:43:07,230 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-15 15:43:07,231 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-15 15:43:07,317 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:43:07,317 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:43:07,318 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 15:43:07,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:43:07,337 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:43:09,526 INFO L272 TraceCheckUtils]: 0: Hoare triple {8172#true} call ULTIMATE.init(); {8172#true} is VALID [2022-04-15 15:43:09,526 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-15 15:43:09,526 INFO L290 TraceCheckUtils]: 2: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8172#true} {8172#true} #101#return; {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L272 TraceCheckUtils]: 4: Hoare triple {8172#true} call #t~ret6 := main(); {8172#true} is VALID [2022-04-15 15:43:09,527 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-15 15:43:09,527 INFO L272 TraceCheckUtils]: 6: Hoare triple {8172#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L290 TraceCheckUtils]: 7: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L290 TraceCheckUtils]: 8: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L290 TraceCheckUtils]: 9: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8172#true} {8172#true} #81#return; {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L290 TraceCheckUtils]: 11: Hoare triple {8172#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L272 TraceCheckUtils]: 12: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L290 TraceCheckUtils]: 13: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L290 TraceCheckUtils]: 14: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L290 TraceCheckUtils]: 15: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8172#true} {8172#true} #83#return; {8172#true} is VALID [2022-04-15 15:43:09,527 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-15 15:43:09,527 INFO L290 TraceCheckUtils]: 18: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,527 INFO L290 TraceCheckUtils]: 19: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,528 INFO L290 TraceCheckUtils]: 20: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,528 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8172#true} {8172#true} #85#return; {8172#true} is VALID [2022-04-15 15:43:09,529 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-15 15:43:09,529 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-15 15:43:09,530 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-15 15:43:09,530 INFO L290 TraceCheckUtils]: 25: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,530 INFO L290 TraceCheckUtils]: 26: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,530 INFO L290 TraceCheckUtils]: 27: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,530 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-15 15:43:09,530 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-15 15:43:09,530 INFO L290 TraceCheckUtils]: 30: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,530 INFO L290 TraceCheckUtils]: 31: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,530 INFO L290 TraceCheckUtils]: 32: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,531 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-15 15:43:09,531 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-15 15:43:09,531 INFO L290 TraceCheckUtils]: 35: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,531 INFO L290 TraceCheckUtils]: 36: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,531 INFO L290 TraceCheckUtils]: 37: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,532 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-15 15:43:09,533 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-15 15:43:09,533 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-15 15:43:09,533 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-15 15:43:09,533 INFO L290 TraceCheckUtils]: 42: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,534 INFO L290 TraceCheckUtils]: 43: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,534 INFO L290 TraceCheckUtils]: 44: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,534 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-15 15:43:09,534 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-15 15:43:09,534 INFO L290 TraceCheckUtils]: 47: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,534 INFO L290 TraceCheckUtils]: 48: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,534 INFO L290 TraceCheckUtils]: 49: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,535 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-15 15:43:09,535 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-15 15:43:09,535 INFO L290 TraceCheckUtils]: 52: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,535 INFO L290 TraceCheckUtils]: 53: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,535 INFO L290 TraceCheckUtils]: 54: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,535 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-15 15:43:09,537 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-15 15:43:09,537 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-15 15:43:09,537 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-15 15:43:09,537 INFO L290 TraceCheckUtils]: 59: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,538 INFO L290 TraceCheckUtils]: 60: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,538 INFO L290 TraceCheckUtils]: 61: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,538 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-15 15:43:09,538 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-15 15:43:09,538 INFO L290 TraceCheckUtils]: 64: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,538 INFO L290 TraceCheckUtils]: 65: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,538 INFO L290 TraceCheckUtils]: 66: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,539 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-15 15:43:09,539 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-15 15:43:09,539 INFO L290 TraceCheckUtils]: 69: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,539 INFO L290 TraceCheckUtils]: 70: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,539 INFO L290 TraceCheckUtils]: 71: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,540 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-15 15:43:09,541 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-15 15:43:09,541 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-15 15:43:09,541 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-15 15:43:09,541 INFO L290 TraceCheckUtils]: 76: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,541 INFO L290 TraceCheckUtils]: 77: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,541 INFO L290 TraceCheckUtils]: 78: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,542 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-15 15:43:09,542 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-15 15:43:09,542 INFO L290 TraceCheckUtils]: 81: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,542 INFO L290 TraceCheckUtils]: 82: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,542 INFO L290 TraceCheckUtils]: 83: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,542 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-15 15:43:09,544 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-15 15:43:09,544 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-15 15:43:09,544 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-15 15:43:09,545 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-15 15:43:09,545 INFO L290 TraceCheckUtils]: 89: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:09,545 INFO L290 TraceCheckUtils]: 90: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:09,545 INFO L290 TraceCheckUtils]: 91: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:09,545 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-15 15:43:09,546 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-15 15:43:09,546 INFO L290 TraceCheckUtils]: 94: Hoare triple {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:43:09,547 INFO L290 TraceCheckUtils]: 95: Hoare triple {8465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8173#false} is VALID [2022-04-15 15:43:09,547 INFO L290 TraceCheckUtils]: 96: Hoare triple {8173#false} assume !false; {8173#false} is VALID [2022-04-15 15:43:09,547 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-15 15:43:09,547 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:43:12,957 INFO L290 TraceCheckUtils]: 96: Hoare triple {8173#false} assume !false; {8173#false} is VALID [2022-04-15 15:43:12,958 INFO L290 TraceCheckUtils]: 95: Hoare triple {8465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8173#false} is VALID [2022-04-15 15:43:12,958 INFO L290 TraceCheckUtils]: 94: Hoare triple {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:43:12,959 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-15 15:43:12,959 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-15 15:43:12,960 INFO L290 TraceCheckUtils]: 91: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,960 INFO L290 TraceCheckUtils]: 90: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,960 INFO L290 TraceCheckUtils]: 89: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,960 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-15 15:43:12,960 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-15 15:43:12,960 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-15 15:43:12,971 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-15 15:43:12,972 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-15 15:43:12,972 INFO L290 TraceCheckUtils]: 83: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,972 INFO L290 TraceCheckUtils]: 82: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,972 INFO L290 TraceCheckUtils]: 81: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,972 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-15 15:43:12,973 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-15 15:43:12,973 INFO L290 TraceCheckUtils]: 78: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,973 INFO L290 TraceCheckUtils]: 77: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,973 INFO L290 TraceCheckUtils]: 76: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,973 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-15 15:43:12,974 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-15 15:43:12,975 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-15 15:43:12,975 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-15 15:43:12,975 INFO L290 TraceCheckUtils]: 71: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,975 INFO L290 TraceCheckUtils]: 70: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,975 INFO L290 TraceCheckUtils]: 69: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,976 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-15 15:43:12,976 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-15 15:43:12,976 INFO L290 TraceCheckUtils]: 66: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,976 INFO L290 TraceCheckUtils]: 65: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,976 INFO L290 TraceCheckUtils]: 64: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,976 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-15 15:43:12,977 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-15 15:43:12,977 INFO L290 TraceCheckUtils]: 61: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,977 INFO L290 TraceCheckUtils]: 60: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,977 INFO L290 TraceCheckUtils]: 59: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,977 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-15 15:43:12,978 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-15 15:43:12,981 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-15 15:43:12,982 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-15 15:43:12,982 INFO L290 TraceCheckUtils]: 54: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,982 INFO L290 TraceCheckUtils]: 53: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,982 INFO L290 TraceCheckUtils]: 52: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,982 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-15 15:43:12,983 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-15 15:43:12,983 INFO L290 TraceCheckUtils]: 49: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,983 INFO L290 TraceCheckUtils]: 48: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,983 INFO L290 TraceCheckUtils]: 47: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,983 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-15 15:43:12,983 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-15 15:43:12,984 INFO L290 TraceCheckUtils]: 44: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,984 INFO L290 TraceCheckUtils]: 43: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,984 INFO L290 TraceCheckUtils]: 42: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,984 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-15 15:43:12,984 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-15 15:43:12,986 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-15 15:43:12,987 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-15 15:43:12,987 INFO L290 TraceCheckUtils]: 37: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,987 INFO L290 TraceCheckUtils]: 36: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,987 INFO L290 TraceCheckUtils]: 35: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,987 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-15 15:43:12,987 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-15 15:43:12,987 INFO L290 TraceCheckUtils]: 32: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,987 INFO L290 TraceCheckUtils]: 31: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,987 INFO L290 TraceCheckUtils]: 30: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,988 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-15 15:43:12,988 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-15 15:43:12,988 INFO L290 TraceCheckUtils]: 27: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,988 INFO L290 TraceCheckUtils]: 26: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,988 INFO L290 TraceCheckUtils]: 25: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,988 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-15 15:43:12,989 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-15 15:43:12,989 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-15 15:43:12,989 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8172#true} {8172#true} #85#return; {8172#true} is VALID [2022-04-15 15:43:12,989 INFO L290 TraceCheckUtils]: 20: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,989 INFO L290 TraceCheckUtils]: 19: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,989 INFO L290 TraceCheckUtils]: 18: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,989 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-15 15:43:12,990 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8172#true} {8172#true} #83#return; {8172#true} is VALID [2022-04-15 15:43:12,990 INFO L290 TraceCheckUtils]: 15: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,990 INFO L290 TraceCheckUtils]: 14: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,990 INFO L290 TraceCheckUtils]: 13: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,990 INFO L272 TraceCheckUtils]: 12: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:43:12,990 INFO L290 TraceCheckUtils]: 11: Hoare triple {8172#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8172#true} is VALID [2022-04-15 15:43:12,990 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8172#true} {8172#true} #81#return; {8172#true} is VALID [2022-04-15 15:43:12,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,990 INFO L290 TraceCheckUtils]: 8: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:43:12,990 INFO L290 TraceCheckUtils]: 7: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:43:12,990 INFO L272 TraceCheckUtils]: 6: Hoare triple {8172#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:43:12,990 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-15 15:43:12,990 INFO L272 TraceCheckUtils]: 4: Hoare triple {8172#true} call #t~ret6 := main(); {8172#true} is VALID [2022-04-15 15:43:12,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8172#true} {8172#true} #101#return; {8172#true} is VALID [2022-04-15 15:43:12,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:43:12,991 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-15 15:43:12,991 INFO L272 TraceCheckUtils]: 0: Hoare triple {8172#true} call ULTIMATE.init(); {8172#true} is VALID [2022-04-15 15:43:12,991 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-15 15:43:12,991 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:43:12,991 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [546875711] [2022-04-15 15:43:12,991 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:43:12,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [694866054] [2022-04-15 15:43:12,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [694866054] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:43:12,992 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:43:12,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-15 15:43:12,992 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:43:12,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [912014928] [2022-04-15 15:43:12,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [912014928] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:43:12,992 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:43:12,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 15:43:12,992 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [190433142] [2022-04-15 15:43:12,992 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:43:12,993 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-15 15:43:12,993 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:43:12,993 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-15 15:43:13,062 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-15 15:43:13,062 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 15:43:13,063 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:43:13,063 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 15:43:13,063 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=131, Unknown=0, NotChecked=0, Total=182 [2022-04-15 15:43:13,063 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-15 15:43:14,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:43:14,820 INFO L93 Difference]: Finished difference Result 177 states and 223 transitions. [2022-04-15 15:43:14,820 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 15:43:14,820 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-15 15:43:14,820 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:43:14,820 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-15 15:43:14,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 116 transitions. [2022-04-15 15:43:14,823 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-15 15:43:14,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 116 transitions. [2022-04-15 15:43:14,825 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 116 transitions. [2022-04-15 15:43:14,979 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-15 15:43:14,982 INFO L225 Difference]: With dead ends: 177 [2022-04-15 15:43:14,982 INFO L226 Difference]: Without dead ends: 138 [2022-04-15 15:43:14,983 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 196 GetRequests, 180 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=73, Invalid=199, Unknown=0, NotChecked=0, Total=272 [2022-04-15 15:43:14,983 INFO L913 BasicCegarLoop]: 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-15 15:43:14,983 INFO L914 BasicCegarLoop]: 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-15 15:43:14,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-04-15 15:43:15,093 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 138. [2022-04-15 15:43:15,094 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:43:15,094 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-15 15:43:15,094 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-15 15:43:15,095 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-15 15:43:15,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:43:15,098 INFO L93 Difference]: Finished difference Result 138 states and 167 transitions. [2022-04-15 15:43:15,098 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-15 15:43:15,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:43:15,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:43:15,099 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-15 15:43:15,099 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-15 15:43:15,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:43:15,103 INFO L93 Difference]: Finished difference Result 138 states and 167 transitions. [2022-04-15 15:43:15,103 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-15 15:43:15,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:43:15,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:43:15,104 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:43:15,104 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:43:15,105 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-15 15:43:15,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 167 transitions. [2022-04-15 15:43:15,109 INFO L78 Accepts]: Start accepts. Automaton has 138 states and 167 transitions. Word has length 97 [2022-04-15 15:43:15,109 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:43:15,109 INFO L478 AbstractCegarLoop]: Abstraction has 138 states and 167 transitions. [2022-04-15 15:43:15,109 INFO L479 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-15 15:43:15,109 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 138 states and 167 transitions. [2022-04-15 15:43:15,398 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-15 15:43:15,399 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-15 15:43:15,403 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-15 15:43:15,404 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:43:15,404 INFO L499 BasicCegarLoop]: 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-15 15:43:15,426 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-15 15:43:15,619 WARN L460 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-15 15:43:15,619 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:43:15,620 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:43:15,620 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 9 times [2022-04-15 15:43:15,620 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:43:15,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [517885910] [2022-04-15 15:43:15,620 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:43:15,620 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 10 times [2022-04-15 15:43:15,620 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:43:15,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [785162013] [2022-04-15 15:43:15,620 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:43:15,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:43:15,632 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:43:15,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [996718811] [2022-04-15 15:43:15,633 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:43:15,633 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:43:15,633 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:43:15,634 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-15 15:43:15,655 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-15 15:43:15,693 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:43:15,693 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:43:15,694 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-15 15:43:15,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:43:15,719 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:44:02,433 INFO L272 TraceCheckUtils]: 0: Hoare triple {9679#true} call ULTIMATE.init(); {9679#true} is VALID [2022-04-15 15:44:02,433 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-15 15:44:02,433 INFO L290 TraceCheckUtils]: 2: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,434 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9679#true} {9679#true} #101#return; {9679#true} is VALID [2022-04-15 15:44:02,434 INFO L272 TraceCheckUtils]: 4: Hoare triple {9679#true} call #t~ret6 := main(); {9679#true} is VALID [2022-04-15 15:44:02,434 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-15 15:44:02,434 INFO L272 TraceCheckUtils]: 6: Hoare triple {9679#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:44:02,434 INFO L290 TraceCheckUtils]: 7: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,434 INFO L290 TraceCheckUtils]: 8: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,434 INFO L290 TraceCheckUtils]: 9: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,434 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9679#true} {9679#true} #81#return; {9679#true} is VALID [2022-04-15 15:44:02,434 INFO L290 TraceCheckUtils]: 11: Hoare triple {9679#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {9679#true} is VALID [2022-04-15 15:44:02,434 INFO L272 TraceCheckUtils]: 12: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:44:02,434 INFO L290 TraceCheckUtils]: 13: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,434 INFO L290 TraceCheckUtils]: 14: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,434 INFO L290 TraceCheckUtils]: 15: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,434 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9679#true} {9679#true} #83#return; {9679#true} is VALID [2022-04-15 15:44:02,435 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-15 15:44:02,435 INFO L290 TraceCheckUtils]: 18: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,435 INFO L290 TraceCheckUtils]: 19: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,435 INFO L290 TraceCheckUtils]: 20: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,435 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9679#true} {9679#true} #85#return; {9679#true} is VALID [2022-04-15 15:44:02,444 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-15 15:44:02,444 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-15 15:44:02,444 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-15 15:44:02,445 INFO L290 TraceCheckUtils]: 25: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,445 INFO L290 TraceCheckUtils]: 26: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,445 INFO L290 TraceCheckUtils]: 27: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,445 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-15 15:44:02,445 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-15 15:44:02,445 INFO L290 TraceCheckUtils]: 30: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,445 INFO L290 TraceCheckUtils]: 31: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,445 INFO L290 TraceCheckUtils]: 32: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,446 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-15 15:44:02,446 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-15 15:44:02,446 INFO L290 TraceCheckUtils]: 35: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,446 INFO L290 TraceCheckUtils]: 36: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,446 INFO L290 TraceCheckUtils]: 37: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,447 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-15 15:44:02,449 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-15 15:44:02,450 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-15 15:44:02,450 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-15 15:44:02,450 INFO L290 TraceCheckUtils]: 42: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,450 INFO L290 TraceCheckUtils]: 43: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,450 INFO L290 TraceCheckUtils]: 44: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,451 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-15 15:44:02,451 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-15 15:44:02,451 INFO L290 TraceCheckUtils]: 47: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,451 INFO L290 TraceCheckUtils]: 48: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,451 INFO L290 TraceCheckUtils]: 49: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,451 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-15 15:44:02,452 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-15 15:44:02,452 INFO L290 TraceCheckUtils]: 52: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,452 INFO L290 TraceCheckUtils]: 53: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,452 INFO L290 TraceCheckUtils]: 54: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,452 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-15 15:44:02,455 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-15 15:44:02,455 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-15 15:44:02,455 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-15 15:44:02,456 INFO L290 TraceCheckUtils]: 59: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,456 INFO L290 TraceCheckUtils]: 60: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,456 INFO L290 TraceCheckUtils]: 61: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,456 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-15 15:44:02,456 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-15 15:44:02,456 INFO L290 TraceCheckUtils]: 64: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,456 INFO L290 TraceCheckUtils]: 65: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,456 INFO L290 TraceCheckUtils]: 66: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,457 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-15 15:44:02,457 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-15 15:44:02,457 INFO L290 TraceCheckUtils]: 69: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,457 INFO L290 TraceCheckUtils]: 70: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,457 INFO L290 TraceCheckUtils]: 71: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,458 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-15 15:44:02,458 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-15 15:44:02,459 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-15 15:44:02,459 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-15 15:44:02,459 INFO L290 TraceCheckUtils]: 76: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,459 INFO L290 TraceCheckUtils]: 77: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,459 INFO L290 TraceCheckUtils]: 78: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,460 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-15 15:44:02,460 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-15 15:44:02,460 INFO L290 TraceCheckUtils]: 81: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,460 INFO L290 TraceCheckUtils]: 82: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,460 INFO L290 TraceCheckUtils]: 83: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,460 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-15 15:44:02,466 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-15 15:44:02,469 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-15 15:44:02,470 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-15 15:44:02,470 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-15 15:44:02,470 INFO L290 TraceCheckUtils]: 89: Hoare triple {9679#true} ~cond := #in~cond; {9957#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:44:02,470 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-15 15:44:02,471 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-15 15:44:02,472 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-15 15:44:02,472 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-15 15:44:02,472 INFO L290 TraceCheckUtils]: 94: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:02,472 INFO L290 TraceCheckUtils]: 95: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:02,472 INFO L290 TraceCheckUtils]: 96: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:02,473 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-15 15:44:02,476 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-15 15:44:02,478 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-15 15:44:02,479 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-15 15:44:02,480 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-15 15:44:02,481 INFO L290 TraceCheckUtils]: 102: Hoare triple {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:44:02,481 INFO L290 TraceCheckUtils]: 103: Hoare triple {10002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9680#false} is VALID [2022-04-15 15:44:02,481 INFO L290 TraceCheckUtils]: 104: Hoare triple {9680#false} assume !false; {9680#false} is VALID [2022-04-15 15:44:02,482 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-15 15:44:02,482 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:46:16,582 INFO L290 TraceCheckUtils]: 104: Hoare triple {9680#false} assume !false; {9680#false} is VALID [2022-04-15 15:46:16,583 INFO L290 TraceCheckUtils]: 103: Hoare triple {10002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9680#false} is VALID [2022-04-15 15:46:16,583 INFO L290 TraceCheckUtils]: 102: Hoare triple {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:46:16,584 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-15 15:46:16,584 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-15 15:46:16,586 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-15 15:46:16,606 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-15 15:46:16,606 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-15 15:46:16,607 INFO L290 TraceCheckUtils]: 96: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:16,607 INFO L290 TraceCheckUtils]: 95: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:16,607 INFO L290 TraceCheckUtils]: 94: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:16,607 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-15 15:46:16,608 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-15 15:46:16,608 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-15 15:46:16,608 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-15 15:46:16,609 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-15 15:46:16,609 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-15 15:46:16,611 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-15 15:46:16,617 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-15 15:46:16,914 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-15 15:46:16,915 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-15 15:46:16,916 INFO L290 TraceCheckUtils]: 83: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:16,916 INFO L290 TraceCheckUtils]: 82: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:16,916 INFO L290 TraceCheckUtils]: 81: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:16,916 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-15 15:46:16,918 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-15 15:46:16,918 INFO L290 TraceCheckUtils]: 78: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:16,918 INFO L290 TraceCheckUtils]: 77: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:16,918 INFO L290 TraceCheckUtils]: 76: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:16,919 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-15 15:46:16,926 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-15 15:46:16,936 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-15 15:46:16,937 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-15 15:46:16,938 INFO L290 TraceCheckUtils]: 71: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:16,938 INFO L290 TraceCheckUtils]: 70: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:16,938 INFO L290 TraceCheckUtils]: 69: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:16,938 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-15 15:46:16,939 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-15 15:46:16,939 INFO L290 TraceCheckUtils]: 66: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:16,939 INFO L290 TraceCheckUtils]: 65: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:16,939 INFO L290 TraceCheckUtils]: 64: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:16,939 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-15 15:46:16,940 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-15 15:46:16,940 INFO L290 TraceCheckUtils]: 61: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:16,940 INFO L290 TraceCheckUtils]: 60: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:16,940 INFO L290 TraceCheckUtils]: 59: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:16,941 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-15 15:46:16,945 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-15 15:46:16,983 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-15 15:46:16,984 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-15 15:46:16,984 INFO L290 TraceCheckUtils]: 54: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:16,984 INFO L290 TraceCheckUtils]: 53: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:16,984 INFO L290 TraceCheckUtils]: 52: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:16,984 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-15 15:46:16,985 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-15 15:46:16,985 INFO L290 TraceCheckUtils]: 49: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:16,985 INFO L290 TraceCheckUtils]: 48: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:16,985 INFO L290 TraceCheckUtils]: 47: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:16,985 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-15 15:46:16,986 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-15 15:46:16,986 INFO L290 TraceCheckUtils]: 44: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:16,986 INFO L290 TraceCheckUtils]: 43: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:16,986 INFO L290 TraceCheckUtils]: 42: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:16,986 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-15 15:46:16,988 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-15 15:46:16,997 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-15 15:46:16,998 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-15 15:46:16,998 INFO L290 TraceCheckUtils]: 37: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:16,998 INFO L290 TraceCheckUtils]: 36: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:16,998 INFO L290 TraceCheckUtils]: 35: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:16,998 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-15 15:46:16,999 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-15 15:46:16,999 INFO L290 TraceCheckUtils]: 32: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:16,999 INFO L290 TraceCheckUtils]: 31: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:16,999 INFO L290 TraceCheckUtils]: 30: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:16,999 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-15 15:46:17,000 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-15 15:46:17,000 INFO L290 TraceCheckUtils]: 27: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:17,000 INFO L290 TraceCheckUtils]: 26: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:17,000 INFO L290 TraceCheckUtils]: 25: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:17,000 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-15 15:46:17,001 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-15 15:46:17,004 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-15 15:46:17,004 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9679#true} {9679#true} #85#return; {9679#true} is VALID [2022-04-15 15:46:17,004 INFO L290 TraceCheckUtils]: 20: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:17,004 INFO L290 TraceCheckUtils]: 19: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:17,004 INFO L290 TraceCheckUtils]: 18: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:17,004 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-15 15:46:17,004 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9679#true} {9679#true} #83#return; {9679#true} is VALID [2022-04-15 15:46:17,004 INFO L290 TraceCheckUtils]: 15: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:17,004 INFO L290 TraceCheckUtils]: 14: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:17,005 INFO L290 TraceCheckUtils]: 13: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:17,005 INFO L272 TraceCheckUtils]: 12: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:46:17,005 INFO L290 TraceCheckUtils]: 11: Hoare triple {9679#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {9679#true} is VALID [2022-04-15 15:46:17,005 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9679#true} {9679#true} #81#return; {9679#true} is VALID [2022-04-15 15:46:17,005 INFO L290 TraceCheckUtils]: 9: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:17,005 INFO L290 TraceCheckUtils]: 8: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:46:17,005 INFO L290 TraceCheckUtils]: 7: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:46:17,005 INFO L272 TraceCheckUtils]: 6: Hoare triple {9679#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:46:17,005 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-15 15:46:17,005 INFO L272 TraceCheckUtils]: 4: Hoare triple {9679#true} call #t~ret6 := main(); {9679#true} is VALID [2022-04-15 15:46:17,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9679#true} {9679#true} #101#return; {9679#true} is VALID [2022-04-15 15:46:17,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:46:17,005 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-15 15:46:17,005 INFO L272 TraceCheckUtils]: 0: Hoare triple {9679#true} call ULTIMATE.init(); {9679#true} is VALID [2022-04-15 15:46:17,006 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-15 15:46:17,006 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:46:17,006 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [785162013] [2022-04-15 15:46:17,006 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:46:17,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [996718811] [2022-04-15 15:46:17,007 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [996718811] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:46:17,007 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:46:17,007 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 25 [2022-04-15 15:46:17,007 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:46:17,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [517885910] [2022-04-15 15:46:17,007 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [517885910] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:46:17,007 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:46:17,007 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 15:46:17,007 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [820217665] [2022-04-15 15:46:17,007 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:46:17,008 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-15 15:46:17,008 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:46:17,008 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-15 15:46:17,130 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-15 15:46:17,130 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 15:46:17,130 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:46:17,131 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 15:46:17,131 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=494, Unknown=0, NotChecked=0, Total=600 [2022-04-15 15:46:17,131 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-15 15:46:25,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:46:25,440 INFO L93 Difference]: Finished difference Result 184 states and 208 transitions. [2022-04-15 15:46:25,440 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 15:46:25,441 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-15 15:46:25,441 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:46:25,441 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-15 15:46:25,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 116 transitions. [2022-04-15 15:46:25,443 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-15 15:46:25,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 116 transitions. [2022-04-15 15:46:25,446 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 116 transitions. [2022-04-15 15:46:25,709 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-15 15:46:25,711 INFO L225 Difference]: With dead ends: 184 [2022-04-15 15:46:25,711 INFO L226 Difference]: Without dead ends: 147 [2022-04-15 15:46:25,712 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 185 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 14.7s TimeCoverageRelationStatistics Valid=119, Invalid=583, Unknown=0, NotChecked=0, Total=702 [2022-04-15 15:46:25,713 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 17 mSDsluCounter, 242 mSDsCounter, 0 mSdLazyCounter, 656 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.2s 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, 4.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:46:25,713 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 289 Invalid, 673 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 656 Invalid, 0 Unknown, 0 Unchecked, 4.2s Time] [2022-04-15 15:46:25,713 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2022-04-15 15:46:25,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 147. [2022-04-15 15:46:25,884 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:46:25,885 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-15 15:46:25,885 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-15 15:46:25,892 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-15 15:46:25,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:46:25,896 INFO L93 Difference]: Finished difference Result 147 states and 167 transitions. [2022-04-15 15:46:25,896 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 167 transitions. [2022-04-15 15:46:25,897 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:46:25,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:46:25,897 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-15 15:46:25,897 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-15 15:46:25,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:46:25,902 INFO L93 Difference]: Finished difference Result 147 states and 167 transitions. [2022-04-15 15:46:25,902 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 167 transitions. [2022-04-15 15:46:25,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:46:25,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:46:25,902 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:46:25,902 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:46:25,903 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-15 15:46:25,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 167 transitions. [2022-04-15 15:46:25,907 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 167 transitions. Word has length 105 [2022-04-15 15:46:25,907 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:46:25,907 INFO L478 AbstractCegarLoop]: Abstraction has 147 states and 167 transitions. [2022-04-15 15:46:25,907 INFO L479 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-15 15:46:25,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 147 states and 167 transitions. [2022-04-15 15:46:26,331 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-15 15:46:26,331 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 167 transitions. [2022-04-15 15:46:26,332 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 115 [2022-04-15 15:46:26,332 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:46:26,333 INFO L499 BasicCegarLoop]: 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-15 15:46:26,356 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-15 15:46:26,547 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-15 15:46:26,547 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:46:26,548 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:46:26,548 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 11 times [2022-04-15 15:46:26,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:46:26,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [834578278] [2022-04-15 15:46:26,548 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:46:26,548 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 12 times [2022-04-15 15:46:26,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:46:26,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1282974102] [2022-04-15 15:46:26,548 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:46:26,548 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:46:26,558 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:46:26,559 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [166898878] [2022-04-15 15:46:26,559 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:46:26,559 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:46:26,559 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:46:26,560 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-15 15:46:26,569 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-15 15:46:26,638 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 15:46:26,638 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:46:26,639 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-15 15:46:26,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:46:26,663 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:46:29,010 INFO L272 TraceCheckUtils]: 0: Hoare triple {11293#true} call ULTIMATE.init(); {11293#true} is VALID [2022-04-15 15:46:29,010 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-15 15:46:29,010 INFO L290 TraceCheckUtils]: 2: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,010 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11293#true} {11293#true} #101#return; {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L272 TraceCheckUtils]: 4: Hoare triple {11293#true} call #t~ret6 := main(); {11293#true} is VALID [2022-04-15 15:46:29,011 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-15 15:46:29,011 INFO L272 TraceCheckUtils]: 6: Hoare triple {11293#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L290 TraceCheckUtils]: 7: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L290 TraceCheckUtils]: 8: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L290 TraceCheckUtils]: 9: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11293#true} {11293#true} #81#return; {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L290 TraceCheckUtils]: 11: Hoare triple {11293#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L272 TraceCheckUtils]: 12: Hoare triple {11293#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L290 TraceCheckUtils]: 13: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L290 TraceCheckUtils]: 14: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L290 TraceCheckUtils]: 15: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11293#true} {11293#true} #83#return; {11293#true} is VALID [2022-04-15 15:46:29,011 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-15 15:46:29,011 INFO L290 TraceCheckUtils]: 18: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L290 TraceCheckUtils]: 19: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L290 TraceCheckUtils]: 20: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,011 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11293#true} {11293#true} #85#return; {11293#true} is VALID [2022-04-15 15:46:29,012 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-15 15:46:29,012 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-15 15:46:29,012 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-15 15:46:29,012 INFO L290 TraceCheckUtils]: 25: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,012 INFO L290 TraceCheckUtils]: 26: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,013 INFO L290 TraceCheckUtils]: 27: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,013 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-15 15:46:29,013 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-15 15:46:29,013 INFO L290 TraceCheckUtils]: 30: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,013 INFO L290 TraceCheckUtils]: 31: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,013 INFO L290 TraceCheckUtils]: 32: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,014 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-15 15:46:29,014 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-15 15:46:29,014 INFO L290 TraceCheckUtils]: 35: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,014 INFO L290 TraceCheckUtils]: 36: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,014 INFO L290 TraceCheckUtils]: 37: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,014 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-15 15:46:29,015 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-15 15:46:29,015 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-15 15:46:29,015 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-15 15:46:29,015 INFO L290 TraceCheckUtils]: 42: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,015 INFO L290 TraceCheckUtils]: 43: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,015 INFO L290 TraceCheckUtils]: 44: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,016 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-15 15:46:29,016 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-15 15:46:29,016 INFO L290 TraceCheckUtils]: 47: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,016 INFO L290 TraceCheckUtils]: 48: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,016 INFO L290 TraceCheckUtils]: 49: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,025 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-15 15:46:29,026 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-15 15:46:29,026 INFO L290 TraceCheckUtils]: 52: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,026 INFO L290 TraceCheckUtils]: 53: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,026 INFO L290 TraceCheckUtils]: 54: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,026 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-15 15:46:29,028 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-15 15:46:29,028 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-15 15:46:29,028 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-15 15:46:29,029 INFO L290 TraceCheckUtils]: 59: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,029 INFO L290 TraceCheckUtils]: 60: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,029 INFO L290 TraceCheckUtils]: 61: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,029 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-15 15:46:29,029 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-15 15:46:29,029 INFO L290 TraceCheckUtils]: 64: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,029 INFO L290 TraceCheckUtils]: 65: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,029 INFO L290 TraceCheckUtils]: 66: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,030 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-15 15:46:29,030 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-15 15:46:29,030 INFO L290 TraceCheckUtils]: 69: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,030 INFO L290 TraceCheckUtils]: 70: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,030 INFO L290 TraceCheckUtils]: 71: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,031 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-15 15:46:29,033 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-15 15:46:29,033 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-15 15:46:29,033 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-15 15:46:29,033 INFO L290 TraceCheckUtils]: 76: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,033 INFO L290 TraceCheckUtils]: 77: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,034 INFO L290 TraceCheckUtils]: 78: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,034 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-15 15:46:29,034 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-15 15:46:29,034 INFO L290 TraceCheckUtils]: 81: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,034 INFO L290 TraceCheckUtils]: 82: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,034 INFO L290 TraceCheckUtils]: 83: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,035 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-15 15:46:29,035 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-15 15:46:29,035 INFO L290 TraceCheckUtils]: 86: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,035 INFO L290 TraceCheckUtils]: 87: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,035 INFO L290 TraceCheckUtils]: 88: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,036 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-15 15:46:29,036 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-15 15:46:29,036 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-15 15:46:29,037 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-15 15:46:29,037 INFO L290 TraceCheckUtils]: 93: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,037 INFO L290 TraceCheckUtils]: 94: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,037 INFO L290 TraceCheckUtils]: 95: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,037 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-15 15:46:29,037 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-15 15:46:29,037 INFO L290 TraceCheckUtils]: 98: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:46:29,037 INFO L290 TraceCheckUtils]: 99: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:46:29,037 INFO L290 TraceCheckUtils]: 100: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:46:29,038 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-15 15:46:29,040 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-15 15:46:29,043 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-15 15:46:29,043 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-15 15:46:29,044 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-15 15:46:29,044 INFO L290 TraceCheckUtils]: 106: Hoare triple {11293#true} ~cond := #in~cond; {11620#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:46:29,044 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-15 15:46:29,044 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-15 15:46:29,047 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-15 15:46:29,048 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-15 15:46:29,048 INFO L290 TraceCheckUtils]: 111: Hoare triple {11635#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11639#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:46:29,048 INFO L290 TraceCheckUtils]: 112: Hoare triple {11639#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11294#false} is VALID [2022-04-15 15:46:29,048 INFO L290 TraceCheckUtils]: 113: Hoare triple {11294#false} assume !false; {11294#false} is VALID [2022-04-15 15:46:29,049 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-15 15:46:29,049 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:47:30,444 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:47:30,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1282974102] [2022-04-15 15:47:30,444 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:47:30,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [166898878] [2022-04-15 15:47:30,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [166898878] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 15:47:30,444 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:47:30,445 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-15 15:47:30,445 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:47:30,445 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [834578278] [2022-04-15 15:47:30,445 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [834578278] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:47:30,445 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:47:30,445 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 15:47:30,445 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1779236698] [2022-04-15 15:47:30,445 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:47:30,446 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-15 15:47:30,446 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:47:30,446 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-15 15:47:30,542 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-15 15:47:30,543 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 15:47:30,543 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:47:30,543 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 15:47:30,543 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-15 15:47:30,543 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-15 15:47:33,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:47:33,949 INFO L93 Difference]: Finished difference Result 168 states and 190 transitions. [2022-04-15 15:47:33,949 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 15:47:33,950 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-15 15:47:33,950 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:47:33,950 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-15 15:47:33,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2022-04-15 15:47:33,951 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-15 15:47:33,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2022-04-15 15:47:33,953 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 103 transitions. [2022-04-15 15:47:34,143 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-15 15:47:34,147 INFO L225 Difference]: With dead ends: 168 [2022-04-15 15:47:34,147 INFO L226 Difference]: Without dead ends: 156 [2022-04-15 15:47:34,147 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 105 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-04-15 15:47:34,148 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 19 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 310 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-15 15:47:34,148 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [25 Valid, 233 Invalid, 386 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 310 Invalid, 0 Unknown, 65 Unchecked, 1.3s Time] [2022-04-15 15:47:34,149 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-15 15:47:34,296 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 155. [2022-04-15 15:47:34,296 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:47:34,296 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-15 15:47:34,297 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-15 15:47:34,297 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-15 15:47:34,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:47:34,300 INFO L93 Difference]: Finished difference Result 156 states and 177 transitions. [2022-04-15 15:47:34,300 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 177 transitions. [2022-04-15 15:47:34,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:47:34,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:47:34,301 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-15 15:47:34,302 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-15 15:47:34,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:47:34,305 INFO L93 Difference]: Finished difference Result 156 states and 177 transitions. [2022-04-15 15:47:34,305 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 177 transitions. [2022-04-15 15:47:34,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:47:34,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:47:34,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:47:34,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:47:34,307 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-15 15:47:34,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 176 transitions. [2022-04-15 15:47:34,310 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 176 transitions. Word has length 114 [2022-04-15 15:47:34,311 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:47:34,311 INFO L478 AbstractCegarLoop]: Abstraction has 155 states and 176 transitions. [2022-04-15 15:47:34,311 INFO L479 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-15 15:47:34,311 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 155 states and 176 transitions. [2022-04-15 15:47:34,715 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-15 15:47:34,716 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 176 transitions. [2022-04-15 15:47:34,717 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-15 15:47:34,717 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:47:34,717 INFO L499 BasicCegarLoop]: 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-15 15:47:34,736 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-15 15:47:34,927 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 15:47:34,928 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:47:34,928 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:47:34,928 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 3 times [2022-04-15 15:47:34,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:47:34,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1270253300] [2022-04-15 15:47:34,928 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:47:34,929 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 4 times [2022-04-15 15:47:34,929 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:47:34,929 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [314082547] [2022-04-15 15:47:34,929 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:47:34,929 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:47:34,939 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:47:34,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [335150821] [2022-04-15 15:47:34,940 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:47:34,940 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:47:34,940 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:47:34,941 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-15 15:47:34,942 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-15 15:47:35,002 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:47:35,002 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:47:35,003 INFO L263 TraceCheckSpWp]: Trace formula consists of 261 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-15 15:47:35,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:47:35,029 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:48:05,203 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:48:10,586 INFO L272 TraceCheckUtils]: 0: Hoare triple {12626#true} call ULTIMATE.init(); {12626#true} is VALID [2022-04-15 15:48:10,586 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-15 15:48:10,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,587 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12626#true} {12626#true} #101#return; {12626#true} is VALID [2022-04-15 15:48:10,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {12626#true} call #t~ret6 := main(); {12626#true} is VALID [2022-04-15 15:48:10,587 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-15 15:48:10,587 INFO L272 TraceCheckUtils]: 6: Hoare triple {12626#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:48:10,587 INFO L290 TraceCheckUtils]: 7: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,587 INFO L290 TraceCheckUtils]: 8: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,587 INFO L290 TraceCheckUtils]: 9: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,588 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12626#true} {12626#true} #81#return; {12626#true} is VALID [2022-04-15 15:48:10,588 INFO L290 TraceCheckUtils]: 11: Hoare triple {12626#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {12626#true} is VALID [2022-04-15 15:48:10,588 INFO L272 TraceCheckUtils]: 12: Hoare triple {12626#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:48:10,588 INFO L290 TraceCheckUtils]: 13: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,588 INFO L290 TraceCheckUtils]: 14: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,588 INFO L290 TraceCheckUtils]: 15: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,588 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12626#true} {12626#true} #83#return; {12626#true} is VALID [2022-04-15 15:48:10,588 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-15 15:48:10,588 INFO L290 TraceCheckUtils]: 18: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,588 INFO L290 TraceCheckUtils]: 19: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,588 INFO L290 TraceCheckUtils]: 20: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,588 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12626#true} {12626#true} #85#return; {12626#true} is VALID [2022-04-15 15:48:10,589 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-15 15:48:10,589 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-15 15:48:10,589 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-15 15:48:10,589 INFO L290 TraceCheckUtils]: 25: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,589 INFO L290 TraceCheckUtils]: 26: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,589 INFO L290 TraceCheckUtils]: 27: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,590 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-15 15:48:10,590 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-15 15:48:10,590 INFO L290 TraceCheckUtils]: 30: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,590 INFO L290 TraceCheckUtils]: 31: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,590 INFO L290 TraceCheckUtils]: 32: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,590 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-15 15:48:10,591 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-15 15:48:10,591 INFO L290 TraceCheckUtils]: 35: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,591 INFO L290 TraceCheckUtils]: 36: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,591 INFO L290 TraceCheckUtils]: 37: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,591 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-15 15:48:10,593 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-15 15:48:10,594 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-15 15:48:10,594 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-15 15:48:10,594 INFO L290 TraceCheckUtils]: 42: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,594 INFO L290 TraceCheckUtils]: 43: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,594 INFO L290 TraceCheckUtils]: 44: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,594 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-15 15:48:10,595 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-15 15:48:10,595 INFO L290 TraceCheckUtils]: 47: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,595 INFO L290 TraceCheckUtils]: 48: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,599 INFO L290 TraceCheckUtils]: 49: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,599 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-15 15:48:10,600 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-15 15:48:10,600 INFO L290 TraceCheckUtils]: 52: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,600 INFO L290 TraceCheckUtils]: 53: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,600 INFO L290 TraceCheckUtils]: 54: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,600 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-15 15:48:10,603 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-15 15:48:10,604 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-15 15:48:10,604 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-15 15:48:10,604 INFO L290 TraceCheckUtils]: 59: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,604 INFO L290 TraceCheckUtils]: 60: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,604 INFO L290 TraceCheckUtils]: 61: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,604 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-15 15:48:10,604 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-15 15:48:10,604 INFO L290 TraceCheckUtils]: 64: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,613 INFO L290 TraceCheckUtils]: 65: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,613 INFO L290 TraceCheckUtils]: 66: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,616 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-15 15:48:10,616 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-15 15:48:10,616 INFO L290 TraceCheckUtils]: 69: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,616 INFO L290 TraceCheckUtils]: 70: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,616 INFO L290 TraceCheckUtils]: 71: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,617 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-15 15:48:10,617 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-15 15:48:10,618 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-15 15:48:10,618 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-15 15:48:10,618 INFO L290 TraceCheckUtils]: 76: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,618 INFO L290 TraceCheckUtils]: 77: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,618 INFO L290 TraceCheckUtils]: 78: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,619 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-15 15:48:10,619 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-15 15:48:10,619 INFO L290 TraceCheckUtils]: 81: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,619 INFO L290 TraceCheckUtils]: 82: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,619 INFO L290 TraceCheckUtils]: 83: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,619 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-15 15:48:10,622 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-15 15:48:10,625 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-15 15:48:10,626 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-15 15:48:10,626 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-15 15:48:10,626 INFO L290 TraceCheckUtils]: 89: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,626 INFO L290 TraceCheckUtils]: 90: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,626 INFO L290 TraceCheckUtils]: 91: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,627 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-15 15:48:10,627 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-15 15:48:10,627 INFO L290 TraceCheckUtils]: 94: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,627 INFO L290 TraceCheckUtils]: 95: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,627 INFO L290 TraceCheckUtils]: 96: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,627 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-15 15:48:10,632 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-15 15:48:10,637 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-15 15:48:10,638 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-15 15:48:10,638 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-15 15:48:10,638 INFO L290 TraceCheckUtils]: 102: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:48:10,638 INFO L290 TraceCheckUtils]: 103: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:48:10,638 INFO L290 TraceCheckUtils]: 104: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:48:10,639 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-15 15:48:10,639 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-15 15:48:10,639 INFO L290 TraceCheckUtils]: 107: Hoare triple {12626#true} ~cond := #in~cond; {12960#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:48:10,639 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-15 15:48:10,640 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-15 15:48:10,640 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-15 15:48:10,641 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-15 15:48:10,647 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#(exists ((aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 Int) (aux_div_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55 Int) (v_main_~r~0_BEFORE_CALL_159 Int) (aux_div_v_main_~d~0_BEFORE_CALL_155_132 Int)) (and (<= 0 (+ (* aux_div_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55 4294967296) (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77))) (< (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)) 4294967296) (<= (+ v_main_~r~0_BEFORE_CALL_159 (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 3)) (+ (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77))) (< (+ (* aux_div_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55 4294967296) (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)) (+ 2 v_main_~r~0_BEFORE_CALL_159 (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 3))) (<= 0 v_main_~r~0_BEFORE_CALL_159) (< (div (+ (* (- 8589934592) aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 2) (* 2 v_main_~r~0_BEFORE_CALL_159) (* (- 2) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) 1) (- 4)) (+ (div (+ (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 (- 2)) (* 8589934592 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) (* 2 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) (* (- 2) v_main_~r~0_BEFORE_CALL_159)) 4) 1)) (< (+ (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)) 4294967296) (<= 1 |__VERIFIER_assert_#in~cond|) (< aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 4294967296) (<= 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77))) (< (+ (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 2) (* 2 v_main_~r~0_BEFORE_CALL_159)) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)))} is VALID [2022-04-15 15:48:10,648 INFO L290 TraceCheckUtils]: 113: Hoare triple {12978#(exists ((aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 Int) (aux_div_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55 Int) (v_main_~r~0_BEFORE_CALL_159 Int) (aux_div_v_main_~d~0_BEFORE_CALL_155_132 Int)) (and (<= 0 (+ (* aux_div_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55 4294967296) (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77))) (< (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)) 4294967296) (<= (+ v_main_~r~0_BEFORE_CALL_159 (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 3)) (+ (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77))) (< (+ (* aux_div_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55 4294967296) (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)) (+ 2 v_main_~r~0_BEFORE_CALL_159 (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 3))) (<= 0 v_main_~r~0_BEFORE_CALL_159) (< (div (+ (* (- 8589934592) aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 2) (* 2 v_main_~r~0_BEFORE_CALL_159) (* (- 2) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) 1) (- 4)) (+ (div (+ (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 (- 2)) (* 8589934592 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) (* 2 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) (* (- 2) v_main_~r~0_BEFORE_CALL_159)) 4) 1)) (< (+ (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)) 4294967296) (<= 1 |__VERIFIER_assert_#in~cond|) (< aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 4294967296) (<= 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77))) (< (+ (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 2) (* 2 v_main_~r~0_BEFORE_CALL_159)) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)))} ~cond := #in~cond; {12982#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:48:10,648 INFO L290 TraceCheckUtils]: 114: Hoare triple {12982#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12627#false} is VALID [2022-04-15 15:48:10,648 INFO L290 TraceCheckUtils]: 115: Hoare triple {12627#false} assume !false; {12627#false} is VALID [2022-04-15 15:48:10,649 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-15 15:48:10,649 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:48:35,996 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:49:07,134 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:49:07,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [314082547] [2022-04-15 15:49:07,135 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:49:07,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [335150821] [2022-04-15 15:49:07,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [335150821] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 15:49:07,135 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:49:07,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2022-04-15 15:49:07,135 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:49:07,135 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1270253300] [2022-04-15 15:49:07,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1270253300] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:49:07,135 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:49:07,136 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 15:49:07,136 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [331470124] [2022-04-15 15:49:07,136 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:49:07,136 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-15 15:49:07,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:49:07,137 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-15 15:49:07,376 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-15 15:49:07,376 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 15:49:07,376 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:49:07,377 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 15:49:07,377 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=549, Unknown=0, NotChecked=0, Total=702 [2022-04-15 15:49:07,377 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-15 15:49:16,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:49:16,738 INFO L93 Difference]: Finished difference Result 161 states and 181 transitions. [2022-04-15 15:49:16,738 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 15:49:16,739 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-15 15:49:16,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:49:16,739 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-15 15:49:16,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 96 transitions. [2022-04-15 15:49:16,742 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-15 15:49:16,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 96 transitions. [2022-04-15 15:49:16,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 96 transitions. [2022-04-15 15:49:17,012 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:49:17,013 INFO L225 Difference]: With dead ends: 161 [2022-04-15 15:49:17,014 INFO L226 Difference]: Without dead ends: 124 [2022-04-15 15:49:17,014 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 196 GetRequests, 167 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 153 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=167, Invalid=645, Unknown=0, NotChecked=0, Total=812 [2022-04-15 15:49:17,015 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 14 mSDsluCounter, 280 mSDsCounter, 0 mSdLazyCounter, 640 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 324 SdHoareTripleChecker+Invalid, 665 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 640 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 11 IncrementalHoareTripleChecker+Unchecked, 5.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:49:17,015 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 324 Invalid, 665 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 640 Invalid, 0 Unknown, 11 Unchecked, 5.1s Time] [2022-04-15 15:49:17,015 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-15 15:49:17,096 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2022-04-15 15:49:17,096 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:49:17,097 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-15 15:49:17,097 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-15 15:49:17,097 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-15 15:49:17,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:49:17,100 INFO L93 Difference]: Finished difference Result 124 states and 142 transitions. [2022-04-15 15:49:17,100 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 142 transitions. [2022-04-15 15:49:17,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:49:17,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:49:17,101 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-15 15:49:17,101 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-15 15:49:17,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:49:17,104 INFO L93 Difference]: Finished difference Result 124 states and 142 transitions. [2022-04-15 15:49:17,104 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 142 transitions. [2022-04-15 15:49:17,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:49:17,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:49:17,105 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:49:17,105 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:49:17,105 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-15 15:49:17,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 142 transitions. [2022-04-15 15:49:17,108 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 142 transitions. Word has length 116 [2022-04-15 15:49:17,108 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:49:17,108 INFO L478 AbstractCegarLoop]: Abstraction has 124 states and 142 transitions. [2022-04-15 15:49:17,109 INFO L479 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-15 15:49:17,109 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 142 transitions. [2022-04-15 15:49:17,459 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-15 15:49:17,460 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 142 transitions. [2022-04-15 15:49:17,461 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 121 [2022-04-15 15:49:17,461 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:49:17,461 INFO L499 BasicCegarLoop]: 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-15 15:49:17,480 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-15 15:49:17,661 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-15 15:49:17,661 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:49:17,662 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:49:17,662 INFO L85 PathProgramCache]: Analyzing trace with hash -1921791003, now seen corresponding path program 5 times [2022-04-15 15:49:17,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:49:17,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [174208207] [2022-04-15 15:49:17,662 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:49:17,662 INFO L85 PathProgramCache]: Analyzing trace with hash -1921791003, now seen corresponding path program 6 times [2022-04-15 15:49:17,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:49:17,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1143142837] [2022-04-15 15:49:17,663 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:49:17,663 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:49:17,682 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:49:17,682 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [979886132] [2022-04-15 15:49:17,682 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:49:17,682 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:49:17,682 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:49:17,683 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-15 15:49:17,684 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-15 15:49:17,762 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-15 15:49:17,762 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:49:17,763 INFO L263 TraceCheckSpWp]: Trace formula consists of 247 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-15 15:49:17,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:49:17,782 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:49:21,222 INFO L272 TraceCheckUtils]: 0: Hoare triple {14057#true} call ULTIMATE.init(); {14057#true} is VALID [2022-04-15 15:49:21,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {14057#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {14057#true} is VALID [2022-04-15 15:49:21,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,222 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14057#true} {14057#true} #101#return; {14057#true} is VALID [2022-04-15 15:49:21,222 INFO L272 TraceCheckUtils]: 4: Hoare triple {14057#true} call #t~ret6 := main(); {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L290 TraceCheckUtils]: 5: Hoare triple {14057#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; {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L272 TraceCheckUtils]: 6: Hoare triple {14057#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L290 TraceCheckUtils]: 7: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L290 TraceCheckUtils]: 8: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L290 TraceCheckUtils]: 9: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14057#true} {14057#true} #81#return; {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L290 TraceCheckUtils]: 11: Hoare triple {14057#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L272 TraceCheckUtils]: 12: Hoare triple {14057#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L290 TraceCheckUtils]: 13: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L290 TraceCheckUtils]: 14: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L290 TraceCheckUtils]: 15: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14057#true} {14057#true} #83#return; {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L272 TraceCheckUtils]: 17: Hoare triple {14057#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,223 INFO L290 TraceCheckUtils]: 18: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,224 INFO L290 TraceCheckUtils]: 19: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,224 INFO L290 TraceCheckUtils]: 20: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,224 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14057#true} {14057#true} #85#return; {14057#true} is VALID [2022-04-15 15:49:21,234 INFO L290 TraceCheckUtils]: 22: Hoare triple {14057#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:21,235 INFO L290 TraceCheckUtils]: 23: Hoare triple {14128#(<= 1 main_~p~0)} assume !false; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:21,235 INFO L272 TraceCheckUtils]: 24: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,235 INFO L290 TraceCheckUtils]: 25: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,235 INFO L290 TraceCheckUtils]: 26: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,235 INFO L290 TraceCheckUtils]: 27: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,236 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #87#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:21,236 INFO L272 TraceCheckUtils]: 29: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,236 INFO L290 TraceCheckUtils]: 30: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,236 INFO L290 TraceCheckUtils]: 31: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,236 INFO L290 TraceCheckUtils]: 32: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,236 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #89#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:21,236 INFO L272 TraceCheckUtils]: 34: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,236 INFO L290 TraceCheckUtils]: 35: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,236 INFO L290 TraceCheckUtils]: 36: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,237 INFO L290 TraceCheckUtils]: 37: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,237 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #91#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:21,238 INFO L290 TraceCheckUtils]: 39: Hoare triple {14128#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:21,238 INFO L290 TraceCheckUtils]: 40: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume !false; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:21,238 INFO L272 TraceCheckUtils]: 41: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,238 INFO L290 TraceCheckUtils]: 42: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,239 INFO L290 TraceCheckUtils]: 43: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,239 INFO L290 TraceCheckUtils]: 44: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,239 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #87#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:21,239 INFO L272 TraceCheckUtils]: 46: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,239 INFO L290 TraceCheckUtils]: 47: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,239 INFO L290 TraceCheckUtils]: 48: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,239 INFO L290 TraceCheckUtils]: 49: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,240 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #89#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:21,240 INFO L272 TraceCheckUtils]: 51: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,240 INFO L290 TraceCheckUtils]: 52: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,240 INFO L290 TraceCheckUtils]: 53: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,240 INFO L290 TraceCheckUtils]: 54: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,241 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #91#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:21,242 INFO L290 TraceCheckUtils]: 56: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:21,243 INFO L290 TraceCheckUtils]: 57: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:21,243 INFO L272 TraceCheckUtils]: 58: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,243 INFO L290 TraceCheckUtils]: 59: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,243 INFO L290 TraceCheckUtils]: 60: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,243 INFO L290 TraceCheckUtils]: 61: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,243 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:21,244 INFO L272 TraceCheckUtils]: 63: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,244 INFO L290 TraceCheckUtils]: 64: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,244 INFO L290 TraceCheckUtils]: 65: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,244 INFO L290 TraceCheckUtils]: 66: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,244 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:21,244 INFO L272 TraceCheckUtils]: 68: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,245 INFO L290 TraceCheckUtils]: 69: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,245 INFO L290 TraceCheckUtils]: 70: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,245 INFO L290 TraceCheckUtils]: 71: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,245 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:21,247 INFO L290 TraceCheckUtils]: 73: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:49:21,247 INFO L290 TraceCheckUtils]: 74: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !false; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:49:21,247 INFO L272 TraceCheckUtils]: 75: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,247 INFO L290 TraceCheckUtils]: 76: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,247 INFO L290 TraceCheckUtils]: 77: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,247 INFO L290 TraceCheckUtils]: 78: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,248 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14057#true} {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #87#return; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:49:21,248 INFO L272 TraceCheckUtils]: 80: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,248 INFO L290 TraceCheckUtils]: 81: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,248 INFO L290 TraceCheckUtils]: 82: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,248 INFO L290 TraceCheckUtils]: 83: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,249 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {14057#true} {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #89#return; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:49:21,249 INFO L272 TraceCheckUtils]: 85: Hoare triple {14284#(<= 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)); {14057#true} is VALID [2022-04-15 15:49:21,249 INFO L290 TraceCheckUtils]: 86: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,249 INFO L290 TraceCheckUtils]: 87: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,249 INFO L290 TraceCheckUtils]: 88: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,250 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {14057#true} {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #91#return; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:49:21,250 INFO L290 TraceCheckUtils]: 90: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !(~r~0 >= ~d~0); {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:49:21,250 INFO L290 TraceCheckUtils]: 91: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !false; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:49:21,250 INFO L272 TraceCheckUtils]: 92: Hoare triple {14284#(<= 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)); {14057#true} is VALID [2022-04-15 15:49:21,250 INFO L290 TraceCheckUtils]: 93: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,251 INFO L290 TraceCheckUtils]: 94: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,251 INFO L290 TraceCheckUtils]: 95: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,251 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {14057#true} {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #93#return; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:49:21,251 INFO L272 TraceCheckUtils]: 97: Hoare triple {14284#(<= 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)); {14057#true} is VALID [2022-04-15 15:49:21,251 INFO L290 TraceCheckUtils]: 98: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,251 INFO L290 TraceCheckUtils]: 99: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,252 INFO L290 TraceCheckUtils]: 100: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,252 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {14057#true} {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #95#return; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:49:21,254 INFO L290 TraceCheckUtils]: 102: Hoare triple {14284#(<= 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); {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:21,255 INFO L290 TraceCheckUtils]: 103: Hoare triple {14232#(<= 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; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:21,255 INFO L290 TraceCheckUtils]: 104: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:21,255 INFO L272 TraceCheckUtils]: 105: Hoare triple {14232#(<= 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)); {14057#true} is VALID [2022-04-15 15:49:21,256 INFO L290 TraceCheckUtils]: 106: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,256 INFO L290 TraceCheckUtils]: 107: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,256 INFO L290 TraceCheckUtils]: 108: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,256 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:21,256 INFO L272 TraceCheckUtils]: 110: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:21,256 INFO L290 TraceCheckUtils]: 111: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:21,257 INFO L290 TraceCheckUtils]: 112: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:21,257 INFO L290 TraceCheckUtils]: 113: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:21,257 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:21,258 INFO L290 TraceCheckUtils]: 115: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {14058#false} is VALID [2022-04-15 15:49:21,258 INFO L272 TraceCheckUtils]: 116: Hoare triple {14058#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {14058#false} is VALID [2022-04-15 15:49:21,258 INFO L290 TraceCheckUtils]: 117: Hoare triple {14058#false} ~cond := #in~cond; {14058#false} is VALID [2022-04-15 15:49:21,258 INFO L290 TraceCheckUtils]: 118: Hoare triple {14058#false} assume 0 == ~cond; {14058#false} is VALID [2022-04-15 15:49:21,258 INFO L290 TraceCheckUtils]: 119: Hoare triple {14058#false} assume !false; {14058#false} is VALID [2022-04-15 15:49:21,258 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-15 15:49:21,258 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:49:22,194 INFO L290 TraceCheckUtils]: 119: Hoare triple {14058#false} assume !false; {14058#false} is VALID [2022-04-15 15:49:22,194 INFO L290 TraceCheckUtils]: 118: Hoare triple {14058#false} assume 0 == ~cond; {14058#false} is VALID [2022-04-15 15:49:22,194 INFO L290 TraceCheckUtils]: 117: Hoare triple {14058#false} ~cond := #in~cond; {14058#false} is VALID [2022-04-15 15:49:22,194 INFO L272 TraceCheckUtils]: 116: Hoare triple {14058#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {14058#false} is VALID [2022-04-15 15:49:22,195 INFO L290 TraceCheckUtils]: 115: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume !(1 != ~p~0); {14058#false} is VALID [2022-04-15 15:49:22,195 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #95#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:22,195 INFO L290 TraceCheckUtils]: 113: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,195 INFO L290 TraceCheckUtils]: 112: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,195 INFO L290 TraceCheckUtils]: 111: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,195 INFO L272 TraceCheckUtils]: 110: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,196 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #93#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:22,196 INFO L290 TraceCheckUtils]: 108: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,196 INFO L290 TraceCheckUtils]: 107: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,196 INFO L290 TraceCheckUtils]: 106: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,196 INFO L272 TraceCheckUtils]: 105: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,196 INFO L290 TraceCheckUtils]: 104: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume !false; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:22,197 INFO L290 TraceCheckUtils]: 103: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:22,198 INFO L290 TraceCheckUtils]: 102: Hoare triple {14232#(<= 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); {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:22,198 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:22,198 INFO L290 TraceCheckUtils]: 100: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,199 INFO L290 TraceCheckUtils]: 99: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,199 INFO L290 TraceCheckUtils]: 98: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,199 INFO L272 TraceCheckUtils]: 97: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,199 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:22,199 INFO L290 TraceCheckUtils]: 95: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,199 INFO L290 TraceCheckUtils]: 94: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,199 INFO L290 TraceCheckUtils]: 93: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,199 INFO L272 TraceCheckUtils]: 92: Hoare triple {14232#(<= 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)); {14057#true} is VALID [2022-04-15 15:49:22,200 INFO L290 TraceCheckUtils]: 91: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:22,200 INFO L290 TraceCheckUtils]: 90: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:22,200 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:22,200 INFO L290 TraceCheckUtils]: 88: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,200 INFO L290 TraceCheckUtils]: 87: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,200 INFO L290 TraceCheckUtils]: 86: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,201 INFO L272 TraceCheckUtils]: 85: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,201 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:22,201 INFO L290 TraceCheckUtils]: 83: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,201 INFO L290 TraceCheckUtils]: 82: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,201 INFO L290 TraceCheckUtils]: 81: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,201 INFO L272 TraceCheckUtils]: 80: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,202 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:22,202 INFO L290 TraceCheckUtils]: 78: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,202 INFO L290 TraceCheckUtils]: 77: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,202 INFO L290 TraceCheckUtils]: 76: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,202 INFO L272 TraceCheckUtils]: 75: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,202 INFO L290 TraceCheckUtils]: 74: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:22,203 INFO L290 TraceCheckUtils]: 73: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:49:22,204 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #91#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:22,204 INFO L290 TraceCheckUtils]: 71: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,204 INFO L290 TraceCheckUtils]: 70: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,204 INFO L290 TraceCheckUtils]: 69: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,204 INFO L272 TraceCheckUtils]: 68: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,204 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #89#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:22,205 INFO L290 TraceCheckUtils]: 66: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,205 INFO L290 TraceCheckUtils]: 65: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,205 INFO L290 TraceCheckUtils]: 64: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,205 INFO L272 TraceCheckUtils]: 63: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,205 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #87#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:22,205 INFO L290 TraceCheckUtils]: 61: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,205 INFO L290 TraceCheckUtils]: 60: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,205 INFO L290 TraceCheckUtils]: 59: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,205 INFO L272 TraceCheckUtils]: 58: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,206 INFO L290 TraceCheckUtils]: 57: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume !false; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:22,206 INFO L290 TraceCheckUtils]: 56: Hoare triple {14128#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:49:22,207 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #91#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:22,207 INFO L290 TraceCheckUtils]: 54: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,207 INFO L290 TraceCheckUtils]: 53: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,207 INFO L290 TraceCheckUtils]: 52: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,207 INFO L272 TraceCheckUtils]: 51: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,207 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #89#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:22,208 INFO L290 TraceCheckUtils]: 49: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,208 INFO L290 TraceCheckUtils]: 48: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,208 INFO L290 TraceCheckUtils]: 47: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,208 INFO L272 TraceCheckUtils]: 46: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,208 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #87#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:22,208 INFO L290 TraceCheckUtils]: 44: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,208 INFO L290 TraceCheckUtils]: 43: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,208 INFO L290 TraceCheckUtils]: 42: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,208 INFO L272 TraceCheckUtils]: 41: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,209 INFO L290 TraceCheckUtils]: 40: Hoare triple {14128#(<= 1 main_~p~0)} assume !false; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:22,209 INFO L290 TraceCheckUtils]: 39: Hoare triple {14128#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:22,210 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #91#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:22,210 INFO L290 TraceCheckUtils]: 37: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,210 INFO L290 TraceCheckUtils]: 36: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,210 INFO L290 TraceCheckUtils]: 35: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,210 INFO L272 TraceCheckUtils]: 34: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,211 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #89#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:22,211 INFO L290 TraceCheckUtils]: 32: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,211 INFO L290 TraceCheckUtils]: 31: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,211 INFO L290 TraceCheckUtils]: 30: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,211 INFO L272 TraceCheckUtils]: 29: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,211 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #87#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:22,211 INFO L290 TraceCheckUtils]: 27: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,211 INFO L290 TraceCheckUtils]: 26: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,211 INFO L290 TraceCheckUtils]: 25: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,211 INFO L272 TraceCheckUtils]: 24: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,212 INFO L290 TraceCheckUtils]: 23: Hoare triple {14128#(<= 1 main_~p~0)} assume !false; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:22,212 INFO L290 TraceCheckUtils]: 22: Hoare triple {14057#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:49:22,212 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14057#true} {14057#true} #85#return; {14057#true} is VALID [2022-04-15 15:49:22,212 INFO L290 TraceCheckUtils]: 20: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,212 INFO L290 TraceCheckUtils]: 19: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,212 INFO L290 TraceCheckUtils]: 18: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,212 INFO L272 TraceCheckUtils]: 17: Hoare triple {14057#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,212 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14057#true} {14057#true} #83#return; {14057#true} is VALID [2022-04-15 15:49:22,212 INFO L290 TraceCheckUtils]: 15: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,212 INFO L290 TraceCheckUtils]: 14: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L272 TraceCheckUtils]: 12: Hoare triple {14057#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L290 TraceCheckUtils]: 11: Hoare triple {14057#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14057#true} {14057#true} #81#return; {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L290 TraceCheckUtils]: 8: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L290 TraceCheckUtils]: 7: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L272 TraceCheckUtils]: 6: Hoare triple {14057#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {14057#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; {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L272 TraceCheckUtils]: 4: Hoare triple {14057#true} call #t~ret6 := main(); {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14057#true} {14057#true} #101#return; {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L290 TraceCheckUtils]: 2: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L290 TraceCheckUtils]: 1: Hoare triple {14057#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {14057#true} is VALID [2022-04-15 15:49:22,213 INFO L272 TraceCheckUtils]: 0: Hoare triple {14057#true} call ULTIMATE.init(); {14057#true} is VALID [2022-04-15 15:49:22,214 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-15 15:49:22,214 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:49:22,214 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1143142837] [2022-04-15 15:49:22,214 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:49:22,214 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [979886132] [2022-04-15 15:49:22,214 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [979886132] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:49:22,214 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:49:22,214 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 6 [2022-04-15 15:49:22,214 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:49:22,214 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [174208207] [2022-04-15 15:49:22,214 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [174208207] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:49:22,214 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:49:22,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:49:22,215 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2074318684] [2022-04-15 15:49:22,215 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:49:22,215 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-15 15:49:22,215 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:49:22,216 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-15 15:49:22,327 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-15 15:49:22,327 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:49:22,327 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:49:22,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:49:22,327 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:49:22,328 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-15 15:49:22,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:49:22,927 INFO L93 Difference]: Finished difference Result 150 states and 178 transitions. [2022-04-15 15:49:22,927 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 15:49:22,927 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-15 15:49:22,928 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:49:22,928 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-15 15:49:22,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2022-04-15 15:49:22,930 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-15 15:49:22,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2022-04-15 15:49:22,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 99 transitions. [2022-04-15 15:49:23,119 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-15 15:49:23,122 INFO L225 Difference]: With dead ends: 150 [2022-04-15 15:49:23,122 INFO L226 Difference]: Without dead ends: 137 [2022-04-15 15:49:23,122 INFO L912 BasicCegarLoop]: 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-15 15:49:23,123 INFO L913 BasicCegarLoop]: 66 mSDtfsCounter, 20 mSDsluCounter, 41 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 65 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:49:23,123 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [25 Valid, 107 Invalid, 65 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:49:23,123 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-15 15:49:23,273 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 137. [2022-04-15 15:49:23,274 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:49:23,274 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-15 15:49:23,274 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-15 15:49:23,275 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-15 15:49:23,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:49:23,278 INFO L93 Difference]: Finished difference Result 137 states and 162 transitions. [2022-04-15 15:49:23,278 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 162 transitions. [2022-04-15 15:49:23,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:49:23,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:49:23,279 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-15 15:49:23,279 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-15 15:49:23,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:49:23,283 INFO L93 Difference]: Finished difference Result 137 states and 162 transitions. [2022-04-15 15:49:23,283 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 162 transitions. [2022-04-15 15:49:23,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:49:23,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:49:23,283 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:49:23,284 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:49:23,284 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-15 15:49:23,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 162 transitions. [2022-04-15 15:49:23,287 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 162 transitions. Word has length 120 [2022-04-15 15:49:23,287 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:49:23,287 INFO L478 AbstractCegarLoop]: Abstraction has 137 states and 162 transitions. [2022-04-15 15:49:23,288 INFO L479 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-15 15:49:23,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 137 states and 162 transitions. [2022-04-15 15:49:23,764 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-15 15:49:23,764 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 162 transitions. [2022-04-15 15:49:23,765 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-15 15:49:23,765 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:49:23,765 INFO L499 BasicCegarLoop]: 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-15 15:49:23,793 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-15 15:49:23,966 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-15 15:49:23,966 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:49:23,967 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:49:23,967 INFO L85 PathProgramCache]: Analyzing trace with hash 515319041, now seen corresponding path program 13 times [2022-04-15 15:49:23,967 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:49:23,967 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2041440282] [2022-04-15 15:49:23,967 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:49:23,967 INFO L85 PathProgramCache]: Analyzing trace with hash 515319041, now seen corresponding path program 14 times [2022-04-15 15:49:23,967 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:49:23,967 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1836599031] [2022-04-15 15:49:23,967 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:49:23,968 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:49:23,978 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:49:23,979 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [225239823] [2022-04-15 15:49:23,979 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:49:23,979 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:49:23,979 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:49:23,980 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-15 15:49:23,982 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-15 15:49:24,097 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:49:24,097 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:49:24,099 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-15 15:49:24,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:49:24,135 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:49:38,787 INFO L272 TraceCheckUtils]: 0: Hoare triple {15630#true} call ULTIMATE.init(); {15630#true} is VALID [2022-04-15 15:49:38,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {15630#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {15630#true} is VALID [2022-04-15 15:49:38,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,787 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15630#true} {15630#true} #101#return; {15630#true} is VALID [2022-04-15 15:49:38,787 INFO L272 TraceCheckUtils]: 4: Hoare triple {15630#true} call #t~ret6 := main(); {15630#true} is VALID [2022-04-15 15:49:38,787 INFO L290 TraceCheckUtils]: 5: Hoare triple {15630#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; {15630#true} is VALID [2022-04-15 15:49:38,787 INFO L272 TraceCheckUtils]: 6: Hoare triple {15630#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,788 INFO L290 TraceCheckUtils]: 7: Hoare triple {15630#true} ~cond := #in~cond; {15656#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:49:38,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {15656#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {15660#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:49:38,788 INFO L290 TraceCheckUtils]: 9: Hoare triple {15660#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {15660#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:49:38,789 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15660#(not (= |assume_abort_if_not_#in~cond| 0))} {15630#true} #81#return; {15667#(<= (mod main_~A~0 4294967296) 10)} is VALID [2022-04-15 15:49:38,789 INFO L290 TraceCheckUtils]: 11: Hoare triple {15667#(<= (mod main_~A~0 4294967296) 10)} ~B~0 := #t~nondet5;havoc #t~nondet5; {15667#(<= (mod main_~A~0 4294967296) 10)} is VALID [2022-04-15 15:49:38,789 INFO L272 TraceCheckUtils]: 12: Hoare triple {15667#(<= (mod main_~A~0 4294967296) 10)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,789 INFO L290 TraceCheckUtils]: 13: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,789 INFO L290 TraceCheckUtils]: 14: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,789 INFO L290 TraceCheckUtils]: 15: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,789 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15630#true} {15667#(<= (mod main_~A~0 4294967296) 10)} #83#return; {15667#(<= (mod main_~A~0 4294967296) 10)} is VALID [2022-04-15 15:49:38,790 INFO L272 TraceCheckUtils]: 17: Hoare triple {15667#(<= (mod main_~A~0 4294967296) 10)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,790 INFO L290 TraceCheckUtils]: 18: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,790 INFO L290 TraceCheckUtils]: 19: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,790 INFO L290 TraceCheckUtils]: 20: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,790 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15630#true} {15667#(<= (mod main_~A~0 4294967296) 10)} #85#return; {15667#(<= (mod main_~A~0 4294967296) 10)} is VALID [2022-04-15 15:49:38,790 INFO L290 TraceCheckUtils]: 22: Hoare triple {15667#(<= (mod main_~A~0 4294967296) 10)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} is VALID [2022-04-15 15:49:38,791 INFO L290 TraceCheckUtils]: 23: Hoare triple {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} assume !false; {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} is VALID [2022-04-15 15:49:38,791 INFO L272 TraceCheckUtils]: 24: Hoare triple {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,791 INFO L290 TraceCheckUtils]: 25: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,791 INFO L290 TraceCheckUtils]: 26: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,791 INFO L290 TraceCheckUtils]: 27: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,792 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15630#true} {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} #87#return; {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} is VALID [2022-04-15 15:49:38,792 INFO L272 TraceCheckUtils]: 29: Hoare triple {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,792 INFO L290 TraceCheckUtils]: 30: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,792 INFO L290 TraceCheckUtils]: 31: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,792 INFO L290 TraceCheckUtils]: 32: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,792 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15630#true} {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} #89#return; {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} is VALID [2022-04-15 15:49:38,792 INFO L272 TraceCheckUtils]: 34: Hoare triple {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,792 INFO L290 TraceCheckUtils]: 35: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,793 INFO L290 TraceCheckUtils]: 36: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,793 INFO L290 TraceCheckUtils]: 37: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,793 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {15630#true} {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} #91#return; {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} is VALID [2022-04-15 15:49:38,795 INFO L290 TraceCheckUtils]: 39: Hoare triple {15704#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15756#(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_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,796 INFO L290 TraceCheckUtils]: 40: Hoare triple {15756#(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_~A~0 4294967296) 10))} assume !false; {15756#(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_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,796 INFO L272 TraceCheckUtils]: 41: Hoare triple {15756#(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_~A~0 4294967296) 10))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,796 INFO L290 TraceCheckUtils]: 42: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,796 INFO L290 TraceCheckUtils]: 43: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,796 INFO L290 TraceCheckUtils]: 44: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,796 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {15630#true} {15756#(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_~A~0 4294967296) 10))} #87#return; {15756#(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_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,797 INFO L272 TraceCheckUtils]: 46: Hoare triple {15756#(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_~A~0 4294967296) 10))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,797 INFO L290 TraceCheckUtils]: 47: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,797 INFO L290 TraceCheckUtils]: 48: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,797 INFO L290 TraceCheckUtils]: 49: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,797 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15630#true} {15756#(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_~A~0 4294967296) 10))} #89#return; {15756#(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_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,797 INFO L272 TraceCheckUtils]: 51: Hoare triple {15756#(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_~A~0 4294967296) 10))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,797 INFO L290 TraceCheckUtils]: 52: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,797 INFO L290 TraceCheckUtils]: 53: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,797 INFO L290 TraceCheckUtils]: 54: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,798 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {15630#true} {15756#(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_~A~0 4294967296) 10))} #91#return; {15756#(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_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,800 INFO L290 TraceCheckUtils]: 56: Hoare triple {15756#(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_~A~0 4294967296) 10))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15808#(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) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,800 INFO L290 TraceCheckUtils]: 57: Hoare triple {15808#(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) (<= (mod main_~A~0 4294967296) 10))} assume !false; {15808#(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) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,800 INFO L272 TraceCheckUtils]: 58: Hoare triple {15808#(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) (<= (mod main_~A~0 4294967296) 10))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,800 INFO L290 TraceCheckUtils]: 59: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,800 INFO L290 TraceCheckUtils]: 60: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,801 INFO L290 TraceCheckUtils]: 61: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,801 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15630#true} {15808#(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) (<= (mod main_~A~0 4294967296) 10))} #87#return; {15808#(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) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,801 INFO L272 TraceCheckUtils]: 63: Hoare triple {15808#(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) (<= (mod main_~A~0 4294967296) 10))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,801 INFO L290 TraceCheckUtils]: 64: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,801 INFO L290 TraceCheckUtils]: 65: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,801 INFO L290 TraceCheckUtils]: 66: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,802 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {15630#true} {15808#(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) (<= (mod main_~A~0 4294967296) 10))} #89#return; {15808#(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) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,802 INFO L272 TraceCheckUtils]: 68: Hoare triple {15808#(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) (<= (mod main_~A~0 4294967296) 10))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,802 INFO L290 TraceCheckUtils]: 69: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,802 INFO L290 TraceCheckUtils]: 70: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,802 INFO L290 TraceCheckUtils]: 71: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,803 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15630#true} {15808#(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) (<= (mod main_~A~0 4294967296) 10))} #91#return; {15808#(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) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,805 INFO L290 TraceCheckUtils]: 73: Hoare triple {15808#(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) (<= (mod main_~A~0 4294967296) 10))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-15 15:49:38,805 INFO L290 TraceCheckUtils]: 74: Hoare triple {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-15 15:49:38,805 INFO L272 TraceCheckUtils]: 75: Hoare triple {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,805 INFO L290 TraceCheckUtils]: 76: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,805 INFO L290 TraceCheckUtils]: 77: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,805 INFO L290 TraceCheckUtils]: 78: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,806 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {15630#true} {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #87#return; {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-15 15:49:38,806 INFO L272 TraceCheckUtils]: 80: Hoare triple {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,806 INFO L290 TraceCheckUtils]: 81: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,806 INFO L290 TraceCheckUtils]: 82: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,806 INFO L290 TraceCheckUtils]: 83: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,807 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {15630#true} {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #89#return; {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-15 15:49:38,807 INFO L272 TraceCheckUtils]: 85: Hoare triple {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,807 INFO L290 TraceCheckUtils]: 86: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,807 INFO L290 TraceCheckUtils]: 87: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,807 INFO L290 TraceCheckUtils]: 88: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,807 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {15630#true} {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #91#return; {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-15 15:49:38,808 INFO L290 TraceCheckUtils]: 90: Hoare triple {15860#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !(~r~0 >= ~d~0); {15912#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-15 15:49:38,808 INFO L290 TraceCheckUtils]: 91: Hoare triple {15912#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {15912#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-15 15:49:38,808 INFO L272 TraceCheckUtils]: 92: Hoare triple {15912#(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_~A~0 4294967296) 10) (<= (* (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)); {15630#true} is VALID [2022-04-15 15:49:38,808 INFO L290 TraceCheckUtils]: 93: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,808 INFO L290 TraceCheckUtils]: 94: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,808 INFO L290 TraceCheckUtils]: 95: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,809 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {15630#true} {15912#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #93#return; {15912#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-15 15:49:38,809 INFO L272 TraceCheckUtils]: 97: Hoare triple {15912#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,809 INFO L290 TraceCheckUtils]: 98: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,809 INFO L290 TraceCheckUtils]: 99: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,809 INFO L290 TraceCheckUtils]: 100: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,810 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {15630#true} {15912#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #95#return; {15912#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-15 15:49:38,813 INFO L290 TraceCheckUtils]: 102: Hoare triple {15912#(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_~A~0 4294967296) 10) (<= (* (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); {15949#(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_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-15 15:49:38,815 INFO L290 TraceCheckUtils]: 103: Hoare triple {15949#(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_~A~0 4294967296) 10) (<= (* (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; {15953#(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) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,816 INFO L290 TraceCheckUtils]: 104: Hoare triple {15953#(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) (<= (mod main_~A~0 4294967296) 10))} assume !false; {15953#(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) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,816 INFO L272 TraceCheckUtils]: 105: Hoare triple {15953#(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) (<= (mod main_~A~0 4294967296) 10))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,816 INFO L290 TraceCheckUtils]: 106: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,816 INFO L290 TraceCheckUtils]: 107: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,816 INFO L290 TraceCheckUtils]: 108: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,816 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {15630#true} {15953#(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) (<= (mod main_~A~0 4294967296) 10))} #93#return; {15953#(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) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,817 INFO L272 TraceCheckUtils]: 110: Hoare triple {15953#(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) (<= (mod main_~A~0 4294967296) 10))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:49:38,817 INFO L290 TraceCheckUtils]: 111: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:49:38,817 INFO L290 TraceCheckUtils]: 112: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:49:38,817 INFO L290 TraceCheckUtils]: 113: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:49:38,817 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {15630#true} {15953#(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) (<= (mod main_~A~0 4294967296) 10))} #95#return; {15953#(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) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,819 INFO L290 TraceCheckUtils]: 115: Hoare triple {15953#(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) (<= (mod main_~A~0 4294967296) 10))} 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); {15990#(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) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-15 15:49:38,822 INFO L290 TraceCheckUtils]: 116: Hoare triple {15990#(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) (<= (mod main_~A~0 4294967296) 10))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15994#(and (= (mod main_~A~0 4294967296) (+ (* 6 (mod main_~B~0 4294967296)) main_~r~0)) (= main_~q~0 6) (<= 0 main_~r~0) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:49:38,822 INFO L290 TraceCheckUtils]: 117: Hoare triple {15994#(and (= (mod main_~A~0 4294967296) (+ (* 6 (mod main_~B~0 4294967296)) main_~r~0)) (= main_~q~0 6) (<= 0 main_~r~0) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} assume !false; {15994#(and (= (mod main_~A~0 4294967296) (+ (* 6 (mod main_~B~0 4294967296)) main_~r~0)) (= main_~q~0 6) (<= 0 main_~r~0) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:49:38,823 INFO L272 TraceCheckUtils]: 118: Hoare triple {15994#(and (= (mod main_~A~0 4294967296) (+ (* 6 (mod main_~B~0 4294967296)) main_~r~0)) (= main_~q~0 6) (<= 0 main_~r~0) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16001#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:49:38,823 INFO L290 TraceCheckUtils]: 119: Hoare triple {16001#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16005#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:49:38,823 INFO L290 TraceCheckUtils]: 120: Hoare triple {16005#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15631#false} is VALID [2022-04-15 15:49:38,823 INFO L290 TraceCheckUtils]: 121: Hoare triple {15631#false} assume !false; {15631#false} is VALID [2022-04-15 15:49:38,824 INFO L134 CoverageAnalysis]: Checked inductivity of 563 backedges. 32 proven. 45 refuted. 0 times theorem prover too weak. 486 trivial. 0 not checked. [2022-04-15 15:49:38,824 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:50:01,132 WARN L232 SmtUtils]: Spent 5.47s on a formula simplification that was a NOOP. DAG size: 152 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 15:50:36,219 INFO L290 TraceCheckUtils]: 121: Hoare triple {15631#false} assume !false; {15631#false} is VALID [2022-04-15 15:50:36,220 INFO L290 TraceCheckUtils]: 120: Hoare triple {16005#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15631#false} is VALID [2022-04-15 15:50:36,220 INFO L290 TraceCheckUtils]: 119: Hoare triple {16001#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16005#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:50:36,221 INFO L272 TraceCheckUtils]: 118: Hoare triple {16021#(= (+ 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)); {16001#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:50:36,221 INFO L290 TraceCheckUtils]: 117: Hoare triple {16021#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {16021#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:50:36,224 INFO L290 TraceCheckUtils]: 116: Hoare triple {16028#(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; {16021#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:50:36,240 INFO L290 TraceCheckUtils]: 115: Hoare triple {16032#(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); {16028#(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-15 15:50:36,241 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {15630#true} {16032#(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; {16032#(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-15 15:50:36,241 INFO L290 TraceCheckUtils]: 113: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,241 INFO L290 TraceCheckUtils]: 112: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,241 INFO L290 TraceCheckUtils]: 111: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,241 INFO L272 TraceCheckUtils]: 110: Hoare triple {16032#(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)); {15630#true} is VALID [2022-04-15 15:50:36,242 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {15630#true} {16032#(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)))} #93#return; {16032#(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-15 15:50:36,242 INFO L290 TraceCheckUtils]: 108: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,242 INFO L290 TraceCheckUtils]: 107: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,242 INFO L290 TraceCheckUtils]: 106: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,242 INFO L272 TraceCheckUtils]: 105: Hoare triple {16032#(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 ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,244 INFO L290 TraceCheckUtils]: 104: Hoare triple {16032#(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 !false; {16032#(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-15 15:50:36,263 INFO L290 TraceCheckUtils]: 103: Hoare triple {16069#(and (or (and (or (not (< main_~p~0 0)) (= (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)))) (= (mod main_~p~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_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (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) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16032#(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-15 15:50:36,516 INFO L290 TraceCheckUtils]: 102: Hoare triple {16073#(and (or (not (< main_~p~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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))))) (or (= (+ (* (+ 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_~p~0 2) 1) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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 (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)) (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 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)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (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)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (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)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (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)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~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); {16069#(and (or (and (or (not (< main_~p~0 0)) (= (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)))) (= (mod main_~p~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_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (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) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-15 15:50:36,517 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {15630#true} {16073#(and (or (not (< main_~p~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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))))) (or (= (+ (* (+ 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_~p~0 2) 1) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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 (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)) (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 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)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (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)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (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)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (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)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #95#return; {16073#(and (or (not (< main_~p~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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))))) (or (= (+ (* (+ 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_~p~0 2) 1) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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 (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)) (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 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)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (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)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (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)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (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)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-15 15:50:36,517 INFO L290 TraceCheckUtils]: 100: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,517 INFO L290 TraceCheckUtils]: 99: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,517 INFO L290 TraceCheckUtils]: 98: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,517 INFO L272 TraceCheckUtils]: 97: Hoare triple {16073#(and (or (not (< main_~p~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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))))) (or (= (+ (* (+ 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_~p~0 2) 1) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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 (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)) (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 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)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (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)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (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)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (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)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,518 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {15630#true} {16073#(and (or (not (< main_~p~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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))))) (or (= (+ (* (+ 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_~p~0 2) 1) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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 (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)) (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 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)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (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)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (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)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (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)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #93#return; {16073#(and (or (not (< main_~p~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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))))) (or (= (+ (* (+ 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_~p~0 2) 1) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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 (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)) (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 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)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (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)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (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)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (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)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-15 15:50:36,518 INFO L290 TraceCheckUtils]: 95: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,518 INFO L290 TraceCheckUtils]: 94: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,518 INFO L290 TraceCheckUtils]: 93: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,519 INFO L272 TraceCheckUtils]: 92: Hoare triple {16073#(and (or (not (< main_~p~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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))))) (or (= (+ (* (+ 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_~p~0 2) 1) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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 (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)) (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 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)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (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)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (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)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (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)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,524 INFO L290 TraceCheckUtils]: 91: Hoare triple {16073#(and (or (not (< main_~p~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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))))) (or (= (+ (* (+ 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_~p~0 2) 1) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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 (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)) (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 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)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (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)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (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)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (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)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} assume !false; {16073#(and (or (not (< main_~p~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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))))) (or (= (+ (* (+ 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_~p~0 2) 1) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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 (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)) (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 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)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (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)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (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)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (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)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-15 15:50:36,530 INFO L290 TraceCheckUtils]: 90: Hoare triple {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {16073#(and (or (not (< main_~p~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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))))) (or (= (+ (* (+ 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_~p~0 2) 1) 2) 0))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (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 (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (= (mod main_~p~0 2) 0)) (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 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)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (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)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (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)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (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)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (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)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-15 15:50:36,530 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {15630#true} {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))) (<= main_~d~0 main_~r~0))} #91#return; {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:50:36,530 INFO L290 TraceCheckUtils]: 88: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,531 INFO L290 TraceCheckUtils]: 87: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,531 INFO L290 TraceCheckUtils]: 86: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,531 INFO L272 TraceCheckUtils]: 85: Hoare triple {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div 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)); {15630#true} is VALID [2022-04-15 15:50:36,531 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {15630#true} {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))) (<= main_~d~0 main_~r~0))} #89#return; {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:50:36,531 INFO L290 TraceCheckUtils]: 83: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,531 INFO L290 TraceCheckUtils]: 82: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,531 INFO L290 TraceCheckUtils]: 81: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,531 INFO L272 TraceCheckUtils]: 80: Hoare triple {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,532 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {15630#true} {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))) (<= main_~d~0 main_~r~0))} #87#return; {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:50:36,532 INFO L290 TraceCheckUtils]: 78: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,532 INFO L290 TraceCheckUtils]: 77: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,532 INFO L290 TraceCheckUtils]: 76: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,532 INFO L272 TraceCheckUtils]: 75: Hoare triple {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,535 INFO L290 TraceCheckUtils]: 74: Hoare triple {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))) (<= main_~d~0 main_~r~0))} assume !false; {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:50:36,596 INFO L290 TraceCheckUtils]: 73: Hoare triple {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16110#(or (and (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 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 (= (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)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0)) (or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~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))))) (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)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:50:36,597 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15630#true} {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:50:36,597 INFO L290 TraceCheckUtils]: 71: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,597 INFO L290 TraceCheckUtils]: 70: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,597 INFO L290 TraceCheckUtils]: 69: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,597 INFO L272 TraceCheckUtils]: 68: Hoare triple {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,598 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {15630#true} {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:50:36,598 INFO L290 TraceCheckUtils]: 66: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,598 INFO L290 TraceCheckUtils]: 65: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,598 INFO L290 TraceCheckUtils]: 64: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,598 INFO L272 TraceCheckUtils]: 63: Hoare triple {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,599 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15630#true} {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:50:36,599 INFO L290 TraceCheckUtils]: 61: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,599 INFO L290 TraceCheckUtils]: 60: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,599 INFO L290 TraceCheckUtils]: 59: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,599 INFO L272 TraceCheckUtils]: 58: Hoare triple {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,600 INFO L290 TraceCheckUtils]: 57: Hoare triple {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:50:36,604 INFO L290 TraceCheckUtils]: 56: Hoare triple {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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; {16162#(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))) (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:50:36,605 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {15630#true} {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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; {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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-15 15:50:36,605 INFO L290 TraceCheckUtils]: 54: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,605 INFO L290 TraceCheckUtils]: 53: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,605 INFO L290 TraceCheckUtils]: 52: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,605 INFO L272 TraceCheckUtils]: 51: Hoare triple {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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)); {15630#true} is VALID [2022-04-15 15:50:36,605 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15630#true} {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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; {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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-15 15:50:36,605 INFO L290 TraceCheckUtils]: 49: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,606 INFO L290 TraceCheckUtils]: 48: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,606 INFO L290 TraceCheckUtils]: 47: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,606 INFO L272 TraceCheckUtils]: 46: Hoare triple {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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)); {15630#true} is VALID [2022-04-15 15:50:36,606 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {15630#true} {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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; {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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-15 15:50:36,606 INFO L290 TraceCheckUtils]: 44: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,606 INFO L290 TraceCheckUtils]: 43: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,606 INFO L290 TraceCheckUtils]: 42: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,606 INFO L272 TraceCheckUtils]: 41: Hoare triple {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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)); {15630#true} is VALID [2022-04-15 15:50:36,607 INFO L290 TraceCheckUtils]: 40: Hoare triple {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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; {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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-15 15:50:36,610 INFO L290 TraceCheckUtils]: 39: Hoare triple {16266#(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) (< main_~r~0 (* main_~d~0 6)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16214#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) 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-15 15:50:36,610 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {15630#true} {16266#(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) (< main_~r~0 (* main_~d~0 6)))} #91#return; {16266#(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) (< main_~r~0 (* main_~d~0 6)))} is VALID [2022-04-15 15:50:36,610 INFO L290 TraceCheckUtils]: 37: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,610 INFO L290 TraceCheckUtils]: 36: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,611 INFO L290 TraceCheckUtils]: 35: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,611 INFO L272 TraceCheckUtils]: 34: Hoare triple {16266#(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) (< main_~r~0 (* main_~d~0 6)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,611 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15630#true} {16266#(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) (< main_~r~0 (* main_~d~0 6)))} #89#return; {16266#(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) (< main_~r~0 (* main_~d~0 6)))} is VALID [2022-04-15 15:50:36,611 INFO L290 TraceCheckUtils]: 32: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,611 INFO L290 TraceCheckUtils]: 31: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,611 INFO L290 TraceCheckUtils]: 30: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,611 INFO L272 TraceCheckUtils]: 29: Hoare triple {16266#(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) (< main_~r~0 (* main_~d~0 6)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,612 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15630#true} {16266#(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) (< main_~r~0 (* main_~d~0 6)))} #87#return; {16266#(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) (< main_~r~0 (* main_~d~0 6)))} is VALID [2022-04-15 15:50:36,612 INFO L290 TraceCheckUtils]: 27: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,612 INFO L290 TraceCheckUtils]: 26: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,612 INFO L290 TraceCheckUtils]: 25: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,612 INFO L272 TraceCheckUtils]: 24: Hoare triple {16266#(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) (< main_~r~0 (* main_~d~0 6)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,613 INFO L290 TraceCheckUtils]: 23: Hoare triple {16266#(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) (< main_~r~0 (* main_~d~0 6)))} assume !false; {16266#(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) (< main_~r~0 (* main_~d~0 6)))} is VALID [2022-04-15 15:50:36,614 INFO L290 TraceCheckUtils]: 22: Hoare triple {15630#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16266#(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) (< main_~r~0 (* main_~d~0 6)))} is VALID [2022-04-15 15:50:36,614 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15630#true} {15630#true} #85#return; {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L290 TraceCheckUtils]: 19: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L272 TraceCheckUtils]: 17: Hoare triple {15630#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15630#true} {15630#true} #83#return; {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L290 TraceCheckUtils]: 15: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L290 TraceCheckUtils]: 14: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L290 TraceCheckUtils]: 13: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L272 TraceCheckUtils]: 12: Hoare triple {15630#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L290 TraceCheckUtils]: 11: Hoare triple {15630#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15630#true} {15630#true} #81#return; {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L290 TraceCheckUtils]: 9: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L290 TraceCheckUtils]: 8: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L290 TraceCheckUtils]: 7: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L272 TraceCheckUtils]: 6: Hoare triple {15630#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L290 TraceCheckUtils]: 5: Hoare triple {15630#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; {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L272 TraceCheckUtils]: 4: Hoare triple {15630#true} call #t~ret6 := main(); {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15630#true} {15630#true} #101#return; {15630#true} is VALID [2022-04-15 15:50:36,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:36,616 INFO L290 TraceCheckUtils]: 1: Hoare triple {15630#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {15630#true} is VALID [2022-04-15 15:50:36,616 INFO L272 TraceCheckUtils]: 0: Hoare triple {15630#true} call ULTIMATE.init(); {15630#true} is VALID [2022-04-15 15:50:36,617 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-15 15:50:36,617 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:50:36,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1836599031] [2022-04-15 15:50:36,617 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:50:36,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [225239823] [2022-04-15 15:50:36,617 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [225239823] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:50:36,617 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:50:36,617 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 25 [2022-04-15 15:50:36,617 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:50:36,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2041440282] [2022-04-15 15:50:36,617 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2041440282] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:50:36,617 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:50:36,617 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 15:50:36,618 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2110372338] [2022-04-15 15:50:36,618 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:50:36,618 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 15 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) Word has length 122 [2022-04-15 15:50:36,618 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:50:36,619 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.0) internal successors, (32), 15 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-15 15:50:36,797 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:50:36,797 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 15:50:36,797 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:50:36,797 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 15:50:36,798 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=128, Invalid=472, Unknown=0, NotChecked=0, Total=600 [2022-04-15 15:50:36,798 INFO L87 Difference]: Start difference. First operand 137 states and 162 transitions. Second operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 15 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-15 15:50:45,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:50:45,212 INFO L93 Difference]: Finished difference Result 241 states and 293 transitions. [2022-04-15 15:50:45,212 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 15:50:45,212 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 15 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) Word has length 122 [2022-04-15 15:50:45,212 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:50:45,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 15 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-15 15:50:45,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 131 transitions. [2022-04-15 15:50:45,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 15 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-15 15:50:45,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 131 transitions. [2022-04-15 15:50:45,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 131 transitions. [2022-04-15 15:50:45,635 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-15 15:50:45,639 INFO L225 Difference]: With dead ends: 241 [2022-04-15 15:50:45,640 INFO L226 Difference]: Without dead ends: 195 [2022-04-15 15:50:45,640 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 245 GetRequests, 219 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 172 ImplicationChecksByTransitivity, 14.3s TimeCoverageRelationStatistics Valid=136, Invalid=566, Unknown=0, NotChecked=0, Total=702 [2022-04-15 15:50:45,641 INFO L913 BasicCegarLoop]: 55 mSDtfsCounter, 33 mSDsluCounter, 210 mSDsCounter, 0 mSdLazyCounter, 717 mSolverCounterSat, 52 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 265 SdHoareTripleChecker+Invalid, 769 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 52 IncrementalHoareTripleChecker+Valid, 717 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-15 15:50:45,641 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 265 Invalid, 769 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [52 Valid, 717 Invalid, 0 Unknown, 0 Unchecked, 3.4s Time] [2022-04-15 15:50:45,641 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 195 states. [2022-04-15 15:50:45,921 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 195 to 192. [2022-04-15 15:50:45,921 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:50:45,922 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-15 15:50:45,922 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-15 15:50:45,923 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-15 15:50:45,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:50:45,927 INFO L93 Difference]: Finished difference Result 195 states and 231 transitions. [2022-04-15 15:50:45,928 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 231 transitions. [2022-04-15 15:50:45,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:50:45,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:50:45,929 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-15 15:50:45,929 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-15 15:50:45,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:50:45,936 INFO L93 Difference]: Finished difference Result 195 states and 231 transitions. [2022-04-15 15:50:45,936 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 231 transitions. [2022-04-15 15:50:45,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:50:45,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:50:45,937 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:50:45,937 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:50:45,937 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-15 15:50:45,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 227 transitions. [2022-04-15 15:50:45,942 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 227 transitions. Word has length 122 [2022-04-15 15:50:45,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:50:45,943 INFO L478 AbstractCegarLoop]: Abstraction has 192 states and 227 transitions. [2022-04-15 15:50:45,943 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 15 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-15 15:50:45,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 227 transitions. [2022-04-15 15:50:46,589 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-15 15:50:46,589 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 227 transitions. [2022-04-15 15:50:46,590 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 128 [2022-04-15 15:50:46,590 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:50:46,590 INFO L499 BasicCegarLoop]: 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-15 15:50:46,609 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-15 15:50:46,795 WARN L460 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-15 15:50:46,796 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:50:46,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:50:46,796 INFO L85 PathProgramCache]: Analyzing trace with hash -1224833083, now seen corresponding path program 15 times [2022-04-15 15:50:46,796 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:50:46,796 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1582231915] [2022-04-15 15:50:46,796 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:50:46,796 INFO L85 PathProgramCache]: Analyzing trace with hash -1224833083, now seen corresponding path program 16 times [2022-04-15 15:50:46,797 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:50:46,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1196527556] [2022-04-15 15:50:46,797 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:50:46,797 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:50:46,807 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:50:46,808 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1517482141] [2022-04-15 15:50:46,808 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:50:46,808 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:50:46,808 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:50:46,809 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-15 15:50:46,813 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-15 15:50:46,872 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:50:46,872 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:50:46,874 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-15 15:50:46,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:50:46,900 INFO L286 TraceCheckSpWp]: Computing forward predicates...