/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/hard2_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 13:25:38,136 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 13:25:38,139 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 13:25:38,171 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 13:25:38,171 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 13:25:38,172 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 13:25:38,174 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 13:25:38,178 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 13:25:38,179 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 13:25:38,180 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 13:25:38,181 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 13:25:38,186 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 13:25:38,186 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 13:25:38,191 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 13:25:38,192 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 13:25:38,192 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 13:25:38,193 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 13:25:38,194 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 13:25:38,195 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 13:25:38,196 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 13:25:38,197 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 13:25:38,201 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 13:25:38,203 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 13:25:38,204 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 13:25:38,205 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 13:25:38,206 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 13:25:38,206 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 13:25:38,207 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 13:25:38,207 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 13:25:38,207 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 13:25:38,208 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 13:25:38,208 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 13:25:38,209 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 13:25:38,209 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 13:25:38,210 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 13:25:38,211 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 13:25:38,211 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 13:25:38,211 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 13:25:38,212 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 13:25:38,212 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 13:25:38,212 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 13:25:38,216 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 13:25:38,217 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 13:25:38,225 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 13:25:38,225 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 13:25:38,226 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 13:25:38,226 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 13:25:38,226 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 13:25:38,227 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 13:25:38,227 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 13:25:38,227 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 13:25:38,227 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 13:25:38,227 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 13:25:38,227 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 13:25:38,227 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 13:25:38,227 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 13:25:38,228 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 13:25:38,228 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 13:25:38,228 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 13:25:38,228 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 13:25:38,228 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 13:25:38,228 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 13:25:38,228 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 13:25:38,228 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 13:25:38,229 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 13:25:38,229 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 13:25:38,473 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 13:25:38,499 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 13:25:38,501 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 13:25:38,502 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 13:25:38,504 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 13:25:38,507 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound5.c [2022-04-28 13:25:38,560 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cb2842e4e/336560927ea34af08c67059886307bed/FLAG7e660cb5e [2022-04-28 13:25:38,942 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 13:25:38,942 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound5.c [2022-04-28 13:25:38,948 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cb2842e4e/336560927ea34af08c67059886307bed/FLAG7e660cb5e [2022-04-28 13:25:38,964 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cb2842e4e/336560927ea34af08c67059886307bed [2022-04-28 13:25:38,971 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 13:25:38,974 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 13:25:38,976 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 13:25:38,976 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 13:25:38,980 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 13:25:38,984 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 01:25:38" (1/1) ... [2022-04-28 13:25:38,985 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2f6548ef and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:25:38, skipping insertion in model container [2022-04-28 13:25:38,986 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 01:25:38" (1/1) ... [2022-04-28 13:25:38,991 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 13:25:39,006 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 13:25:39,186 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/hard2_valuebound5.c[526,539] [2022-04-28 13:25:39,214 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 13:25:39,224 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 13:25:39,235 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/hard2_valuebound5.c[526,539] [2022-04-28 13:25:39,241 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 13:25:39,253 INFO L208 MainTranslator]: Completed translation [2022-04-28 13:25:39,254 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:25:39 WrapperNode [2022-04-28 13:25:39,254 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 13:25:39,255 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 13:25:39,255 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 13:25:39,255 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 13:25:39,264 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:25:39" (1/1) ... [2022-04-28 13:25:39,265 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:25:39" (1/1) ... [2022-04-28 13:25:39,270 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:25:39" (1/1) ... [2022-04-28 13:25:39,270 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:25:39" (1/1) ... [2022-04-28 13:25:39,276 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:25:39" (1/1) ... [2022-04-28 13:25:39,281 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:25:39" (1/1) ... [2022-04-28 13:25:39,282 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:25:39" (1/1) ... [2022-04-28 13:25:39,289 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 13:25:39,290 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 13:25:39,290 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 13:25:39,290 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 13:25:39,294 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:25:39" (1/1) ... [2022-04-28 13:25:39,301 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 13:25:39,312 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:25:39,333 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 13:25:39,351 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 13:25:39,376 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 13:25:39,376 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 13:25:39,376 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 13:25:39,376 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 13:25:39,376 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 13:25:39,376 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 13:25:39,376 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 13:25:39,377 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 13:25:39,377 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 13:25:39,377 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 13:25:39,377 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 13:25:39,377 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 13:25:39,377 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 13:25:39,377 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 13:25:39,377 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 13:25:39,377 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 13:25:39,377 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 13:25:39,378 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 13:25:39,378 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 13:25:39,378 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 13:25:39,432 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 13:25:39,433 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 13:25:39,596 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 13:25:39,618 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 13:25:39,618 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 13:25:39,620 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 01:25:39 BoogieIcfgContainer [2022-04-28 13:25:39,620 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 13:25:39,621 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 13:25:39,622 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 13:25:39,636 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 13:25:39,636 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 01:25:38" (1/3) ... [2022-04-28 13:25:39,637 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1e888ffa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 01:25:39, skipping insertion in model container [2022-04-28 13:25:39,637 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 01:25:39" (2/3) ... [2022-04-28 13:25:39,637 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1e888ffa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 01:25:39, skipping insertion in model container [2022-04-28 13:25:39,637 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 01:25:39" (3/3) ... [2022-04-28 13:25:39,639 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_valuebound5.c [2022-04-28 13:25:39,654 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 13:25:39,655 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 13:25:39,691 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 13:25:39,697 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@44f78650, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@3a62eba7 [2022-04-28 13:25:39,697 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 13:25:39,705 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 13:25:39,711 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-28 13:25:39,711 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:25:39,712 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:25:39,712 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:25:39,717 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:25:39,717 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 1 times [2022-04-28 13:25:39,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:39,725 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [98908131] [2022-04-28 13:25:39,735 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:25:39,735 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 2 times [2022-04-28 13:25:39,738 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:25:39,738 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [321314532] [2022-04-28 13:25:39,738 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:25:39,739 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:25:39,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:39,911 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 13:25:39,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:39,938 INFO L290 TraceCheckUtils]: 0: Hoare triple {47#(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(8, 2);call #Ultimate.allocInit(12, 3); {38#true} is VALID [2022-04-28 13:25:39,938 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-28 13:25:39,938 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-28 13:25:39,939 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 13:25:39,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:39,947 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 13:25:39,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 13:25:39,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 13:25:39,949 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-28 13:25:39,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {47#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 13:25:39,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {47#(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(8, 2);call #Ultimate.allocInit(12, 3); {38#true} is VALID [2022-04-28 13:25:39,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-28 13:25:39,951 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-28 13:25:39,951 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret5 := main(); {38#true} is VALID [2022-04-28 13:25:39,951 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {38#true} is VALID [2022-04-28 13:25:39,951 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {38#true} is VALID [2022-04-28 13:25:39,951 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-28 13:25:39,952 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-28 13:25:39,952 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-28 13:25:39,953 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-28 13:25:39,953 INFO L290 TraceCheckUtils]: 11: Hoare triple {39#false} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {39#false} is VALID [2022-04-28 13:25:39,953 INFO L290 TraceCheckUtils]: 12: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-28 13:25:39,953 INFO L272 TraceCheckUtils]: 13: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {39#false} is VALID [2022-04-28 13:25:39,954 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-28 13:25:39,954 INFO L290 TraceCheckUtils]: 15: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-28 13:25:39,954 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-28 13:25:39,955 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 13:25:39,955 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:25:39,955 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [321314532] [2022-04-28 13:25:39,956 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [321314532] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:25:39,956 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:25:39,956 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 13:25:39,959 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:25:39,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [98908131] [2022-04-28 13:25:39,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [98908131] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:25:39,960 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:25:39,960 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 13:25:39,960 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1832824791] [2022-04-28 13:25:39,960 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:25:39,964 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 13:25:39,966 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:25:39,968 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 13:25:39,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:39,991 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 13:25:39,991 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:40,008 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 13:25:40,009 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 13:25:40,011 INFO L87 Difference]: Start difference. First operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 13:25:40,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:40,157 INFO L93 Difference]: Finished difference Result 61 states and 95 transitions. [2022-04-28 13:25:40,157 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 13:25:40,157 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 13:25:40,158 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:25:40,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 13:25:40,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-28 13:25:40,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 13:25:40,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-28 13:25:40,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 95 transitions. [2022-04-28 13:25:40,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:40,291 INFO L225 Difference]: With dead ends: 61 [2022-04-28 13:25:40,291 INFO L226 Difference]: Without dead ends: 30 [2022-04-28 13:25:40,294 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 13:25:40,297 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:25:40,298 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:25:40,311 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-28 13:25:40,325 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-28 13:25:40,325 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:25:40,326 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 13:25:40,327 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 13:25:40,327 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 13:25:40,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:40,332 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-28 13:25:40,332 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-28 13:25:40,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:25:40,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:25:40,333 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-28 13:25:40,334 INFO L87 Difference]: Start difference. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-28 13:25:40,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:40,338 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-28 13:25:40,338 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-28 13:25:40,338 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:25:40,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:25:40,339 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:25:40,339 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:25:40,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 13:25:40,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-28 13:25:40,343 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 17 [2022-04-28 13:25:40,347 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:25:40,347 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-28 13:25:40,347 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 13:25:40,348 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 38 transitions. [2022-04-28 13:25:40,390 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:40,390 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-28 13:25:40,390 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-28 13:25:40,391 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:25:40,391 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:25:40,391 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 13:25:40,391 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:25:40,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:25:40,392 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 1 times [2022-04-28 13:25:40,392 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:40,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1713708950] [2022-04-28 13:25:40,393 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:25:40,393 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 2 times [2022-04-28 13:25:40,394 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:25:40,394 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1312938172] [2022-04-28 13:25:40,394 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:25:40,394 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:25:40,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:40,466 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 13:25:40,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:40,485 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#(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(8, 2);call #Ultimate.allocInit(12, 3); {292#true} is VALID [2022-04-28 13:25:40,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-28 13:25:40,486 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-28 13:25:40,487 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 13:25:40,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:40,509 INFO L290 TraceCheckUtils]: 0: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-28 13:25:40,510 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-28 13:25:40,510 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-28 13:25:40,510 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-28 13:25:40,511 INFO L272 TraceCheckUtils]: 0: Hoare triple {292#true} call ULTIMATE.init(); {304#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 13:25:40,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#(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(8, 2);call #Ultimate.allocInit(12, 3); {292#true} is VALID [2022-04-28 13:25:40,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-28 13:25:40,511 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-28 13:25:40,512 INFO L272 TraceCheckUtils]: 4: Hoare triple {292#true} call #t~ret5 := main(); {292#true} is VALID [2022-04-28 13:25:40,512 INFO L290 TraceCheckUtils]: 5: Hoare triple {292#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {292#true} is VALID [2022-04-28 13:25:40,512 INFO L272 TraceCheckUtils]: 6: Hoare triple {292#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {292#true} is VALID [2022-04-28 13:25:40,512 INFO L290 TraceCheckUtils]: 7: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-28 13:25:40,512 INFO L290 TraceCheckUtils]: 8: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-28 13:25:40,513 INFO L290 TraceCheckUtils]: 9: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-28 13:25:40,513 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-28 13:25:40,514 INFO L290 TraceCheckUtils]: 11: Hoare triple {292#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {301#(= main_~q~0 0)} is VALID [2022-04-28 13:25:40,515 INFO L290 TraceCheckUtils]: 12: Hoare triple {301#(= main_~q~0 0)} assume !false; {301#(= main_~q~0 0)} is VALID [2022-04-28 13:25:40,515 INFO L272 TraceCheckUtils]: 13: Hoare triple {301#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:25:40,516 INFO L290 TraceCheckUtils]: 14: Hoare triple {302#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {303#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:25:40,517 INFO L290 TraceCheckUtils]: 15: Hoare triple {303#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {293#false} is VALID [2022-04-28 13:25:40,517 INFO L290 TraceCheckUtils]: 16: Hoare triple {293#false} assume !false; {293#false} is VALID [2022-04-28 13:25:40,517 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 13:25:40,517 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:25:40,517 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1312938172] [2022-04-28 13:25:40,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1312938172] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:25:40,518 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:25:40,518 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:25:40,518 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:25:40,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1713708950] [2022-04-28 13:25:40,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1713708950] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:25:40,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:25:40,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:25:40,520 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1190944695] [2022-04-28 13:25:40,520 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:25:40,521 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 13:25:40,521 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:25:40,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 13:25:40,536 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:40,537 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 13:25:40,538 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:40,539 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 13:25:40,539 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:25:40,540 INFO L87 Difference]: Start difference. First operand 30 states and 38 transitions. Second operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 13:25:40,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:40,962 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-28 13:25:40,962 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 13:25:40,962 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 13:25:40,963 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:25:40,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 13:25:40,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-28 13:25:40,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 13:25:40,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-28 13:25:40,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-28 13:25:41,054 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:41,058 INFO L225 Difference]: With dead ends: 43 [2022-04-28 13:25:41,059 INFO L226 Difference]: Without dead ends: 41 [2022-04-28 13:25:41,059 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 13:25:41,062 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 37 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:25:41,063 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 45 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:25:41,065 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-28 13:25:41,079 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-28 13:25:41,079 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:25:41,079 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 13:25:41,080 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 13:25:41,081 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 13:25:41,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:41,085 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 13:25:41,085 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 13:25:41,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:25:41,087 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:25:41,087 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-28 13:25:41,087 INFO L87 Difference]: Start difference. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-28 13:25:41,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:41,091 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 13:25:41,091 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 13:25:41,092 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:25:41,092 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:25:41,092 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:25:41,092 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:25:41,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 13:25:41,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-28 13:25:41,095 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 17 [2022-04-28 13:25:41,095 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:25:41,096 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-28 13:25:41,096 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 13:25:41,096 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 41 transitions. [2022-04-28 13:25:41,146 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:41,147 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-28 13:25:41,147 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 13:25:41,147 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:25:41,148 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:25:41,148 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 13:25:41,148 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:25:41,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:25:41,149 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 1 times [2022-04-28 13:25:41,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:41,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2103664113] [2022-04-28 13:25:41,150 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:25:41,150 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 2 times [2022-04-28 13:25:41,150 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:25:41,150 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1743491382] [2022-04-28 13:25:41,150 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:25:41,151 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:25:41,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:41,207 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 13:25:41,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:41,214 INFO L290 TraceCheckUtils]: 0: Hoare triple {567#(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(8, 2);call #Ultimate.allocInit(12, 3); {551#true} is VALID [2022-04-28 13:25:41,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-28 13:25:41,215 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-28 13:25:41,215 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 13:25:41,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:41,219 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-28 13:25:41,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-28 13:25:41,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-28 13:25:41,220 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-28 13:25:41,220 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 13:25:41,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:41,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-28 13:25:41,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-28 13:25:41,226 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-28 13:25:41,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {560#(= main_~A~0 main_~r~0)} #80#return; {560#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 13:25:41,228 INFO L272 TraceCheckUtils]: 0: Hoare triple {551#true} call ULTIMATE.init(); {567#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 13:25:41,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#(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(8, 2);call #Ultimate.allocInit(12, 3); {551#true} is VALID [2022-04-28 13:25:41,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-28 13:25:41,229 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-28 13:25:41,229 INFO L272 TraceCheckUtils]: 4: Hoare triple {551#true} call #t~ret5 := main(); {551#true} is VALID [2022-04-28 13:25:41,229 INFO L290 TraceCheckUtils]: 5: Hoare triple {551#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {551#true} is VALID [2022-04-28 13:25:41,229 INFO L272 TraceCheckUtils]: 6: Hoare triple {551#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {551#true} is VALID [2022-04-28 13:25:41,229 INFO L290 TraceCheckUtils]: 7: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-28 13:25:41,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-28 13:25:41,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-28 13:25:41,230 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-28 13:25:41,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {551#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {560#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 13:25:41,231 INFO L290 TraceCheckUtils]: 12: Hoare triple {560#(= main_~A~0 main_~r~0)} assume !false; {560#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 13:25:41,231 INFO L272 TraceCheckUtils]: 13: Hoare triple {560#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {551#true} is VALID [2022-04-28 13:25:41,231 INFO L290 TraceCheckUtils]: 14: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-28 13:25:41,232 INFO L290 TraceCheckUtils]: 15: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-28 13:25:41,232 INFO L290 TraceCheckUtils]: 16: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-28 13:25:41,233 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {551#true} {560#(= main_~A~0 main_~r~0)} #80#return; {560#(= main_~A~0 main_~r~0)} is VALID [2022-04-28 13:25:41,233 INFO L272 TraceCheckUtils]: 18: Hoare triple {560#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {565#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:25:41,234 INFO L290 TraceCheckUtils]: 19: Hoare triple {565#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {566#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:25:41,234 INFO L290 TraceCheckUtils]: 20: Hoare triple {566#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {552#false} is VALID [2022-04-28 13:25:41,234 INFO L290 TraceCheckUtils]: 21: Hoare triple {552#false} assume !false; {552#false} is VALID [2022-04-28 13:25:41,235 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 13:25:41,235 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:25:41,235 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1743491382] [2022-04-28 13:25:41,235 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1743491382] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:25:41,236 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:25:41,236 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:25:41,236 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:25:41,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2103664113] [2022-04-28 13:25:41,236 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2103664113] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:25:41,236 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:25:41,237 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:25:41,237 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1967728469] [2022-04-28 13:25:41,237 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:25:41,237 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 13:25:41,238 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:25:41,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 13:25:41,254 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:41,254 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 13:25:41,254 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:41,255 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 13:25:41,255 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:25:41,255 INFO L87 Difference]: Start difference. First operand 34 states and 41 transitions. Second operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 13:25:41,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:41,626 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-28 13:25:41,626 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 13:25:41,626 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-28 13:25:41,626 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:25:41,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 13:25:41,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-28 13:25:41,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 13:25:41,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-28 13:25:41,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-28 13:25:41,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:41,687 INFO L225 Difference]: With dead ends: 47 [2022-04-28 13:25:41,687 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 13:25:41,687 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 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-28 13:25:41,688 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 32 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:25:41,689 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 45 Invalid, 141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:25:41,690 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 13:25:41,695 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 38. [2022-04-28 13:25:41,696 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:25:41,696 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 13:25:41,696 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 13:25:41,697 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 13:25:41,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:41,699 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 13:25:41,699 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 13:25:41,700 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:25:41,700 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:25:41,700 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 13:25:41,700 INFO L87 Difference]: Start difference. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 13:25:41,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:41,703 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 13:25:41,703 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 13:25:41,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:25:41,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:25:41,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:25:41,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:25:41,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 13:25:41,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2022-04-28 13:25:41,706 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 22 [2022-04-28 13:25:41,706 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:25:41,706 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2022-04-28 13:25:41,706 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 13:25:41,706 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 44 transitions. [2022-04-28 13:25:41,749 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:41,749 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-28 13:25:41,750 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-28 13:25:41,750 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:25:41,750 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:25:41,750 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 13:25:41,751 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:25:41,751 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:25:41,751 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 1 times [2022-04-28 13:25:41,751 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:41,751 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [827912288] [2022-04-28 13:25:41,752 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:25:41,752 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 2 times [2022-04-28 13:25:41,752 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:25:41,752 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1597117470] [2022-04-28 13:25:41,753 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:25:41,753 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:25:41,767 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:25:41,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1358795653] [2022-04-28 13:25:41,767 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:25:41,767 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:25:41,768 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:25:41,769 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:25:41,800 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 13:25:41,828 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:25:41,828 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:25:41,830 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 13:25:41,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:41,852 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:25:42,128 INFO L272 TraceCheckUtils]: 0: Hoare triple {838#true} call ULTIMATE.init(); {838#true} is VALID [2022-04-28 13:25:42,129 INFO L290 TraceCheckUtils]: 1: Hoare triple {838#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {838#true} is VALID [2022-04-28 13:25:42,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-28 13:25:42,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {838#true} {838#true} #94#return; {838#true} is VALID [2022-04-28 13:25:42,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {838#true} call #t~ret5 := main(); {838#true} is VALID [2022-04-28 13:25:42,130 INFO L290 TraceCheckUtils]: 5: Hoare triple {838#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {838#true} is VALID [2022-04-28 13:25:42,130 INFO L272 TraceCheckUtils]: 6: Hoare triple {838#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {838#true} is VALID [2022-04-28 13:25:42,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-28 13:25:42,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-28 13:25:42,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-28 13:25:42,130 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {838#true} {838#true} #78#return; {838#true} is VALID [2022-04-28 13:25:42,131 INFO L290 TraceCheckUtils]: 11: Hoare triple {838#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:42,135 INFO L290 TraceCheckUtils]: 12: Hoare triple {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:42,135 INFO L272 TraceCheckUtils]: 13: Hoare triple {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {838#true} is VALID [2022-04-28 13:25:42,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-28 13:25:42,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-28 13:25:42,135 INFO L290 TraceCheckUtils]: 16: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-28 13:25:42,140 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {838#true} {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:42,140 INFO L272 TraceCheckUtils]: 18: Hoare triple {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {838#true} is VALID [2022-04-28 13:25:42,140 INFO L290 TraceCheckUtils]: 19: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-28 13:25:42,141 INFO L290 TraceCheckUtils]: 20: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-28 13:25:42,141 INFO L290 TraceCheckUtils]: 21: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-28 13:25:42,144 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {838#true} {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:42,145 INFO L272 TraceCheckUtils]: 23: Hoare triple {876#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {913#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:25:42,146 INFO L290 TraceCheckUtils]: 24: Hoare triple {913#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {917#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:25:42,146 INFO L290 TraceCheckUtils]: 25: Hoare triple {917#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {839#false} is VALID [2022-04-28 13:25:42,146 INFO L290 TraceCheckUtils]: 26: Hoare triple {839#false} assume !false; {839#false} is VALID [2022-04-28 13:25:42,147 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 13:25:42,147 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 13:25:42,147 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:25:42,147 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1597117470] [2022-04-28 13:25:42,147 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:25:42,147 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1358795653] [2022-04-28 13:25:42,148 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1358795653] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:25:42,148 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:25:42,148 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:25:42,148 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:25:42,148 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [827912288] [2022-04-28 13:25:42,149 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [827912288] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:25:42,149 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:25:42,149 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:25:42,149 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1151316398] [2022-04-28 13:25:42,149 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:25:42,149 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-28 13:25:42,150 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:25:42,150 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 13:25:42,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:42,169 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 13:25:42,170 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:42,170 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 13:25:42,171 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 13:25:42,171 INFO L87 Difference]: Start difference. First operand 38 states and 44 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 13:25:42,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:42,389 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-28 13:25:42,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 13:25:42,390 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-28 13:25:42,390 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:25:42,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 13:25:42,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-28 13:25:42,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 13:25:42,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-28 13:25:42,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-28 13:25:42,461 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:42,465 INFO L225 Difference]: With dead ends: 66 [2022-04-28 13:25:42,465 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 13:25:42,465 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:25:42,466 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:25:42,466 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 128 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 13:25:42,467 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 13:25:42,480 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-28 13:25:42,480 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:25:42,481 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 13:25:42,481 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 13:25:42,482 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 13:25:42,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:42,484 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-28 13:25:42,484 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-28 13:25:42,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:25:42,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:25:42,485 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-28 13:25:42,486 INFO L87 Difference]: Start difference. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-28 13:25:42,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:42,488 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-28 13:25:42,488 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-28 13:25:42,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:25:42,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:25:42,489 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:25:42,489 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:25:42,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 13:25:42,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-28 13:25:42,492 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 27 [2022-04-28 13:25:42,492 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:25:42,492 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-28 13:25:42,492 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 13:25:42,492 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 63 transitions. [2022-04-28 13:25:42,555 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:42,556 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-28 13:25:42,556 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 13:25:42,556 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:25:42,557 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:25:42,587 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 13:25:42,771 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:25:42,772 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:25:42,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:25:42,772 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 1 times [2022-04-28 13:25:42,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:42,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1804519530] [2022-04-28 13:25:42,773 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:25:42,773 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 2 times [2022-04-28 13:25:42,773 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:25:42,773 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [713104822] [2022-04-28 13:25:42,773 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:25:42,773 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:25:42,792 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:25:42,793 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [864506029] [2022-04-28 13:25:42,793 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:25:42,793 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:25:42,793 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:25:42,798 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:25:42,817 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 13:25:42,854 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:25:42,854 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:25:42,855 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 13:25:42,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:42,864 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:25:43,187 INFO L272 TraceCheckUtils]: 0: Hoare triple {1265#true} call ULTIMATE.init(); {1265#true} is VALID [2022-04-28 13:25:43,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {1265#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {1265#true} is VALID [2022-04-28 13:25:43,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-28 13:25:43,188 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1265#true} {1265#true} #94#return; {1265#true} is VALID [2022-04-28 13:25:43,188 INFO L272 TraceCheckUtils]: 4: Hoare triple {1265#true} call #t~ret5 := main(); {1265#true} is VALID [2022-04-28 13:25:43,188 INFO L290 TraceCheckUtils]: 5: Hoare triple {1265#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {1265#true} is VALID [2022-04-28 13:25:43,188 INFO L272 TraceCheckUtils]: 6: Hoare triple {1265#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {1265#true} is VALID [2022-04-28 13:25:43,189 INFO L290 TraceCheckUtils]: 7: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-28 13:25:43,189 INFO L290 TraceCheckUtils]: 8: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-28 13:25:43,189 INFO L290 TraceCheckUtils]: 9: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-28 13:25:43,189 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1265#true} {1265#true} #78#return; {1265#true} is VALID [2022-04-28 13:25:43,191 INFO L290 TraceCheckUtils]: 11: Hoare triple {1265#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:25:43,192 INFO L290 TraceCheckUtils]: 12: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:25:43,192 INFO L272 TraceCheckUtils]: 13: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1265#true} is VALID [2022-04-28 13:25:43,192 INFO L290 TraceCheckUtils]: 14: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-28 13:25:43,192 INFO L290 TraceCheckUtils]: 15: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-28 13:25:43,192 INFO L290 TraceCheckUtils]: 16: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-28 13:25:43,193 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1265#true} {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #80#return; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:25:43,193 INFO L272 TraceCheckUtils]: 18: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1265#true} is VALID [2022-04-28 13:25:43,193 INFO L290 TraceCheckUtils]: 19: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-28 13:25:43,194 INFO L290 TraceCheckUtils]: 20: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-28 13:25:43,194 INFO L290 TraceCheckUtils]: 21: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-28 13:25:43,194 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1265#true} {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #82#return; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:25:43,195 INFO L272 TraceCheckUtils]: 23: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1265#true} is VALID [2022-04-28 13:25:43,195 INFO L290 TraceCheckUtils]: 24: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-28 13:25:43,195 INFO L290 TraceCheckUtils]: 25: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-28 13:25:43,195 INFO L290 TraceCheckUtils]: 26: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-28 13:25:43,196 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1265#true} {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #84#return; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:25:43,196 INFO L290 TraceCheckUtils]: 28: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:25:43,197 INFO L290 TraceCheckUtils]: 29: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:25:43,198 INFO L272 TraceCheckUtils]: 30: Hoare triple {1303#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:25:43,203 INFO L290 TraceCheckUtils]: 31: Hoare triple {1361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:25:43,204 INFO L290 TraceCheckUtils]: 32: Hoare triple {1365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1266#false} is VALID [2022-04-28 13:25:43,204 INFO L290 TraceCheckUtils]: 33: Hoare triple {1266#false} assume !false; {1266#false} is VALID [2022-04-28 13:25:43,204 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 13:25:43,205 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 13:25:43,205 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:25:43,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [713104822] [2022-04-28 13:25:43,205 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:25:43,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [864506029] [2022-04-28 13:25:43,205 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [864506029] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:25:43,205 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:25:43,205 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:25:43,206 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:25:43,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1804519530] [2022-04-28 13:25:43,206 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1804519530] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:25:43,206 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:25:43,206 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:25:43,206 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1980484768] [2022-04-28 13:25:43,206 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:25:43,207 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 13:25:43,207 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:25:43,207 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 13:25:43,233 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:43,233 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 13:25:43,233 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:43,234 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 13:25:43,234 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 13:25:43,234 INFO L87 Difference]: Start difference. First operand 52 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 13:25:43,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:43,442 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-28 13:25:43,443 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 13:25:43,443 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 13:25:43,443 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:25:43,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 13:25:43,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 13:25:43,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 13:25:43,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 13:25:43,446 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-28 13:25:43,510 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:43,511 INFO L225 Difference]: With dead ends: 65 [2022-04-28 13:25:43,512 INFO L226 Difference]: Without dead ends: 58 [2022-04-28 13:25:43,512 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:25:43,512 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 9 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:25:43,513 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 103 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:25:43,513 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-28 13:25:43,543 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2022-04-28 13:25:43,543 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:25:43,544 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 13:25:43,544 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 13:25:43,544 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 13:25:43,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:43,547 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-28 13:25:43,547 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-28 13:25:43,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:25:43,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:25:43,548 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-28 13:25:43,548 INFO L87 Difference]: Start difference. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-28 13:25:43,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:43,551 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-28 13:25:43,551 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-28 13:25:43,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:25:43,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:25:43,551 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:25:43,551 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:25:43,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 13:25:43,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2022-04-28 13:25:43,554 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 34 [2022-04-28 13:25:43,554 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:25:43,554 INFO L495 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2022-04-28 13:25:43,554 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 13:25:43,554 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 69 transitions. [2022-04-28 13:25:43,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:43,633 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-28 13:25:43,634 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 13:25:43,634 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:25:43,634 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:25:43,653 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 13:25:43,843 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:25:43,843 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:25:43,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:25:43,844 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 1 times [2022-04-28 13:25:43,844 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:43,844 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1869123639] [2022-04-28 13:25:47,987 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:25:47,987 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:25:47,987 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 2 times [2022-04-28 13:25:47,987 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:25:47,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2045928292] [2022-04-28 13:25:47,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:25:47,988 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:25:47,998 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:25:47,999 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1052581366] [2022-04-28 13:25:47,999 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:25:47,999 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:25:47,999 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:25:48,000 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:25:48,015 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 13:25:48,052 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:25:48,053 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:25:48,053 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 13:25:48,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:48,064 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:25:48,286 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-28 13:25:48,286 INFO L290 TraceCheckUtils]: 1: Hoare triple {1733#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {1733#true} is VALID [2022-04-28 13:25:48,286 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,287 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-28 13:25:48,287 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret5 := main(); {1733#true} is VALID [2022-04-28 13:25:48,287 INFO L290 TraceCheckUtils]: 5: Hoare triple {1733#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {1733#true} is VALID [2022-04-28 13:25:48,287 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {1733#true} is VALID [2022-04-28 13:25:48,287 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 13:25:48,287 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 13:25:48,287 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,287 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-28 13:25:48,288 INFO L290 TraceCheckUtils]: 11: Hoare triple {1733#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:48,288 INFO L290 TraceCheckUtils]: 12: Hoare triple {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:48,289 INFO L272 TraceCheckUtils]: 13: Hoare triple {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 13:25:48,289 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 13:25:48,289 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 13:25:48,289 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,290 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1733#true} {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:48,290 INFO L272 TraceCheckUtils]: 18: Hoare triple {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 13:25:48,290 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 13:25:48,290 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 13:25:48,290 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,291 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1733#true} {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:48,291 INFO L272 TraceCheckUtils]: 23: Hoare triple {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 13:25:48,291 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 13:25:48,291 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 13:25:48,291 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,292 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1733#true} {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:48,293 INFO L290 TraceCheckUtils]: 28: Hoare triple {1771#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:25:48,294 INFO L290 TraceCheckUtils]: 29: Hoare triple {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:25:48,294 INFO L272 TraceCheckUtils]: 30: Hoare triple {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 13:25:48,294 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 13:25:48,294 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 13:25:48,295 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,296 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1733#true} {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:25:48,296 INFO L272 TraceCheckUtils]: 35: Hoare triple {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 13:25:48,296 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 13:25:48,296 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 13:25:48,297 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,297 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1733#true} {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:25:48,298 INFO L272 TraceCheckUtils]: 40: Hoare triple {1823#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:25:48,299 INFO L290 TraceCheckUtils]: 41: Hoare triple {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1864#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:25:48,299 INFO L290 TraceCheckUtils]: 42: Hoare triple {1864#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-28 13:25:48,299 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-28 13:25:48,300 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 13:25:48,300 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:25:48,539 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-28 13:25:48,539 INFO L290 TraceCheckUtils]: 42: Hoare triple {1864#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-28 13:25:48,539 INFO L290 TraceCheckUtils]: 41: Hoare triple {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1864#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:25:48,540 INFO L272 TraceCheckUtils]: 40: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:25:48,541 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:48,541 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,541 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 13:25:48,541 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 13:25:48,541 INFO L272 TraceCheckUtils]: 35: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 13:25:48,548 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:48,548 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,548 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 13:25:48,548 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 13:25:48,548 INFO L272 TraceCheckUtils]: 30: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 13:25:48,552 INFO L290 TraceCheckUtils]: 29: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:48,554 INFO L290 TraceCheckUtils]: 28: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:48,555 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:48,555 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,555 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 13:25:48,555 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 13:25:48,555 INFO L272 TraceCheckUtils]: 23: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 13:25:48,556 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:48,556 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,556 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 13:25:48,556 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 13:25:48,556 INFO L272 TraceCheckUtils]: 18: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 13:25:48,557 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1733#true} {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:48,557 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,557 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 13:25:48,557 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 13:25:48,558 INFO L272 TraceCheckUtils]: 13: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1733#true} is VALID [2022-04-28 13:25:48,558 INFO L290 TraceCheckUtils]: 12: Hoare triple {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:48,558 INFO L290 TraceCheckUtils]: 11: Hoare triple {1733#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1880#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:25:48,559 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-28 13:25:48,559 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,559 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-28 13:25:48,559 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-28 13:25:48,559 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {1733#true} is VALID [2022-04-28 13:25:48,559 INFO L290 TraceCheckUtils]: 5: Hoare triple {1733#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {1733#true} is VALID [2022-04-28 13:25:48,559 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret5 := main(); {1733#true} is VALID [2022-04-28 13:25:48,559 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-28 13:25:48,560 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-28 13:25:48,560 INFO L290 TraceCheckUtils]: 1: Hoare triple {1733#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {1733#true} is VALID [2022-04-28 13:25:48,560 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-28 13:25:48,560 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 13:25:48,560 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:25:48,560 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2045928292] [2022-04-28 13:25:48,561 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:25:48,561 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1052581366] [2022-04-28 13:25:48,561 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1052581366] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 13:25:48,561 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 13:25:48,561 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-28 13:25:48,561 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:25:48,561 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1869123639] [2022-04-28 13:25:48,561 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1869123639] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:25:48,561 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:25:48,561 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 13:25:48,562 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [275767834] [2022-04-28 13:25:48,562 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:25:48,562 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-28 13:25:48,562 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:25:48,563 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 13:25:48,588 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:48,588 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 13:25:48,588 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:48,588 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 13:25:48,588 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 13:25:48,589 INFO L87 Difference]: Start difference. First operand 57 states and 69 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 13:25:50,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:50,821 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-28 13:25:50,821 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 13:25:50,821 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-28 13:25:50,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:25:50,822 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 13:25:50,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 13:25:50,823 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 13:25:50,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 13:25:50,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-28 13:25:50,872 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:50,873 INFO L225 Difference]: With dead ends: 69 [2022-04-28 13:25:50,873 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 13:25:50,874 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 80 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 13:25:50,876 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:25:50,876 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 112 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:25:50,877 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 13:25:50,921 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2022-04-28 13:25:50,921 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:25:50,922 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 13:25:50,922 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 13:25:50,923 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 13:25:50,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:50,928 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-28 13:25:50,928 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-28 13:25:50,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:25:50,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:25:50,930 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 13:25:50,930 INFO L87 Difference]: Start difference. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 13:25:50,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:25:50,933 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-28 13:25:50,933 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-28 13:25:50,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:25:50,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:25:50,934 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:25:50,934 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:25:50,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 13:25:50,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-28 13:25:50,937 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 44 [2022-04-28 13:25:50,937 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:25:50,937 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-28 13:25:50,937 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 13:25:50,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 77 transitions. [2022-04-28 13:25:51,027 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:25:51,028 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-28 13:25:51,028 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-28 13:25:51,029 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:25:51,029 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:25:51,054 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 13:25:51,247 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:25:51,247 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:25:51,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:25:51,248 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 1 times [2022-04-28 13:25:51,248 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:25:51,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [845383487] [2022-04-28 13:25:54,447 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:25:54,447 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:25:54,447 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 2 times [2022-04-28 13:25:54,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:25:54,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1989744506] [2022-04-28 13:25:54,448 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:25:54,448 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:25:54,460 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:25:54,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1608883095] [2022-04-28 13:25:54,461 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:25:54,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:25:54,461 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:25:54,464 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:25:54,489 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 13:25:54,528 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:25:54,528 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:25:54,529 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 13:25:54,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:25:54,548 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:25:54,998 INFO L272 TraceCheckUtils]: 0: Hoare triple {2405#true} call ULTIMATE.init(); {2405#true} is VALID [2022-04-28 13:25:54,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {2405#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {2405#true} is VALID [2022-04-28 13:25:54,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:25:54,999 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#true} {2405#true} #94#return; {2405#true} is VALID [2022-04-28 13:25:54,999 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#true} call #t~ret5 := main(); {2405#true} is VALID [2022-04-28 13:25:54,999 INFO L290 TraceCheckUtils]: 5: Hoare triple {2405#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {2405#true} is VALID [2022-04-28 13:25:54,999 INFO L272 TraceCheckUtils]: 6: Hoare triple {2405#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:25:54,999 INFO L290 TraceCheckUtils]: 7: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:25:55,000 INFO L290 TraceCheckUtils]: 8: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:25:55,015 INFO L290 TraceCheckUtils]: 9: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:25:55,015 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2405#true} {2405#true} #78#return; {2405#true} is VALID [2022-04-28 13:25:55,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {2405#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:55,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:55,017 INFO L272 TraceCheckUtils]: 13: Hoare triple {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:25:55,017 INFO L290 TraceCheckUtils]: 14: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:25:55,017 INFO L290 TraceCheckUtils]: 15: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:25:55,017 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:25:55,018 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2405#true} {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:55,018 INFO L272 TraceCheckUtils]: 18: Hoare triple {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:25:55,018 INFO L290 TraceCheckUtils]: 19: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:25:55,018 INFO L290 TraceCheckUtils]: 20: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:25:55,019 INFO L290 TraceCheckUtils]: 21: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:25:55,019 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2405#true} {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:55,019 INFO L272 TraceCheckUtils]: 23: Hoare triple {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:25:55,019 INFO L290 TraceCheckUtils]: 24: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:25:55,020 INFO L290 TraceCheckUtils]: 25: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:25:55,020 INFO L290 TraceCheckUtils]: 26: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:25:55,020 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2405#true} {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:55,021 INFO L290 TraceCheckUtils]: 28: Hoare triple {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:25:55,021 INFO L290 TraceCheckUtils]: 29: Hoare triple {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:25:55,021 INFO L272 TraceCheckUtils]: 30: Hoare triple {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:25:55,022 INFO L290 TraceCheckUtils]: 31: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:25:55,022 INFO L290 TraceCheckUtils]: 32: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:25:55,022 INFO L290 TraceCheckUtils]: 33: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:25:55,022 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2405#true} {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:25:55,023 INFO L272 TraceCheckUtils]: 35: Hoare triple {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:25:55,023 INFO L290 TraceCheckUtils]: 36: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:25:55,023 INFO L290 TraceCheckUtils]: 37: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:25:55,023 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:25:55,024 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2405#true} {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:25:55,024 INFO L272 TraceCheckUtils]: 40: Hoare triple {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:25:55,024 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:25:55,024 INFO L290 TraceCheckUtils]: 42: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:25:55,024 INFO L290 TraceCheckUtils]: 43: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:25:55,025 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2405#true} {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:25:55,025 INFO L290 TraceCheckUtils]: 45: Hoare triple {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:25:55,026 INFO L290 TraceCheckUtils]: 46: Hoare triple {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:25:55,026 INFO L272 TraceCheckUtils]: 47: Hoare triple {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:25:55,026 INFO L290 TraceCheckUtils]: 48: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:25:55,026 INFO L290 TraceCheckUtils]: 49: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:25:55,026 INFO L290 TraceCheckUtils]: 50: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:25:55,027 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2405#true} {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #86#return; {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:25:55,027 INFO L272 TraceCheckUtils]: 52: Hoare triple {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:25:55,027 INFO L290 TraceCheckUtils]: 53: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:25:55,027 INFO L290 TraceCheckUtils]: 54: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:25:55,027 INFO L290 TraceCheckUtils]: 55: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:25:55,028 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2405#true} {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #88#return; {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:25:55,029 INFO L290 TraceCheckUtils]: 57: Hoare triple {2495#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 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); {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:25:55,029 INFO L290 TraceCheckUtils]: 58: Hoare triple {2443#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2586#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-28 13:25:55,030 INFO L290 TraceCheckUtils]: 59: Hoare triple {2586#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} assume !false; {2586#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-28 13:25:55,030 INFO L272 TraceCheckUtils]: 60: Hoare triple {2586#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:25:55,031 INFO L290 TraceCheckUtils]: 61: Hoare triple {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2597#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:25:55,031 INFO L290 TraceCheckUtils]: 62: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2406#false} is VALID [2022-04-28 13:25:55,031 INFO L290 TraceCheckUtils]: 63: Hoare triple {2406#false} assume !false; {2406#false} is VALID [2022-04-28 13:25:55,032 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 13:25:55,032 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:26:02,609 INFO L290 TraceCheckUtils]: 63: Hoare triple {2406#false} assume !false; {2406#false} is VALID [2022-04-28 13:26:02,610 INFO L290 TraceCheckUtils]: 62: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2406#false} is VALID [2022-04-28 13:26:02,611 INFO L290 TraceCheckUtils]: 61: Hoare triple {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2597#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:26:02,612 INFO L272 TraceCheckUtils]: 60: Hoare triple {2613#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:26:02,612 INFO L290 TraceCheckUtils]: 59: Hoare triple {2613#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {2613#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:26:02,629 INFO L290 TraceCheckUtils]: 58: Hoare triple {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2613#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:26:02,651 INFO L290 TraceCheckUtils]: 57: Hoare triple {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (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); {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:26:02,651 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2405#true} {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #88#return; {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:26:02,651 INFO L290 TraceCheckUtils]: 55: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:26:02,651 INFO L290 TraceCheckUtils]: 54: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:26:02,652 INFO L290 TraceCheckUtils]: 53: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:26:02,652 INFO L272 TraceCheckUtils]: 52: Hoare triple {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:26:02,655 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2405#true} {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #86#return; {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:26:02,656 INFO L290 TraceCheckUtils]: 50: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:26:02,656 INFO L290 TraceCheckUtils]: 49: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:26:02,656 INFO L290 TraceCheckUtils]: 48: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:26:02,656 INFO L272 TraceCheckUtils]: 47: Hoare triple {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:26:02,657 INFO L290 TraceCheckUtils]: 46: Hoare triple {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:26:02,658 INFO L290 TraceCheckUtils]: 45: Hoare triple {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !(~r~0 >= ~d~0); {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:26:02,658 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2405#true} {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #84#return; {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:26:02,658 INFO L290 TraceCheckUtils]: 43: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:26:02,658 INFO L290 TraceCheckUtils]: 42: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:26:02,658 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:26:02,659 INFO L272 TraceCheckUtils]: 40: Hoare triple {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:26:02,659 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2405#true} {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #82#return; {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:26:02,659 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:26:02,659 INFO L290 TraceCheckUtils]: 37: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:26:02,659 INFO L290 TraceCheckUtils]: 36: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:26:02,660 INFO L272 TraceCheckUtils]: 35: Hoare triple {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:26:02,660 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2405#true} {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #80#return; {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:26:02,660 INFO L290 TraceCheckUtils]: 33: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:26:02,661 INFO L290 TraceCheckUtils]: 32: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:26:02,661 INFO L290 TraceCheckUtils]: 31: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:26:02,661 INFO L272 TraceCheckUtils]: 30: Hoare triple {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:26:02,662 INFO L290 TraceCheckUtils]: 29: Hoare triple {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:26:02,667 INFO L290 TraceCheckUtils]: 28: Hoare triple {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2624#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:26:02,668 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2405#true} {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #84#return; {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:26:02,668 INFO L290 TraceCheckUtils]: 26: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:26:02,668 INFO L290 TraceCheckUtils]: 25: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:26:02,668 INFO L290 TraceCheckUtils]: 24: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:26:02,668 INFO L272 TraceCheckUtils]: 23: Hoare triple {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:26:02,669 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2405#true} {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #82#return; {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:26:02,669 INFO L290 TraceCheckUtils]: 21: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:26:02,669 INFO L290 TraceCheckUtils]: 20: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:26:02,669 INFO L290 TraceCheckUtils]: 19: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:26:02,669 INFO L272 TraceCheckUtils]: 18: Hoare triple {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:26:02,670 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2405#true} {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #80#return; {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:26:02,670 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:26:02,670 INFO L290 TraceCheckUtils]: 15: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:26:02,670 INFO L290 TraceCheckUtils]: 14: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:26:02,670 INFO L272 TraceCheckUtils]: 13: Hoare triple {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:26:02,670 INFO L290 TraceCheckUtils]: 12: Hoare triple {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !false; {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:26:02,671 INFO L290 TraceCheckUtils]: 11: Hoare triple {2405#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2620#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:26:02,671 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2405#true} {2405#true} #78#return; {2405#true} is VALID [2022-04-28 13:26:02,671 INFO L290 TraceCheckUtils]: 9: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:26:02,671 INFO L290 TraceCheckUtils]: 8: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-28 13:26:02,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-28 13:26:02,671 INFO L272 TraceCheckUtils]: 6: Hoare triple {2405#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {2405#true} is VALID [2022-04-28 13:26:02,671 INFO L290 TraceCheckUtils]: 5: Hoare triple {2405#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {2405#true} is VALID [2022-04-28 13:26:02,671 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#true} call #t~ret5 := main(); {2405#true} is VALID [2022-04-28 13:26:02,671 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#true} {2405#true} #94#return; {2405#true} is VALID [2022-04-28 13:26:02,671 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-28 13:26:02,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {2405#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {2405#true} is VALID [2022-04-28 13:26:02,672 INFO L272 TraceCheckUtils]: 0: Hoare triple {2405#true} call ULTIMATE.init(); {2405#true} is VALID [2022-04-28 13:26:02,672 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 13:26:02,672 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:26:02,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1989744506] [2022-04-28 13:26:02,673 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:26:02,673 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1608883095] [2022-04-28 13:26:02,673 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1608883095] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:26:02,673 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:26:02,673 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-28 13:26:02,673 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:26:02,673 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [845383487] [2022-04-28 13:26:02,673 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [845383487] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:26:02,673 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:26:02,674 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 13:26:02,674 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1282261580] [2022-04-28 13:26:02,674 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:26:02,674 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 64 [2022-04-28 13:26:02,675 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:26:02,675 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 13:26:02,714 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:26:02,714 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 13:26:02,714 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:26:02,715 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 13:26:02,715 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 13:26:02,715 INFO L87 Difference]: Start difference. First operand 64 states and 77 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 13:26:03,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:26:03,347 INFO L93 Difference]: Finished difference Result 130 states and 164 transitions. [2022-04-28 13:26:03,347 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 13:26:03,347 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 64 [2022-04-28 13:26:03,347 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:26:03,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 13:26:03,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 107 transitions. [2022-04-28 13:26:03,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 13:26:03,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 107 transitions. [2022-04-28 13:26:03,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 107 transitions. [2022-04-28 13:26:03,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:26:03,453 INFO L225 Difference]: With dead ends: 130 [2022-04-28 13:26:03,453 INFO L226 Difference]: Without dead ends: 101 [2022-04-28 13:26:03,454 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 116 SyntacticMatches, 3 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-28 13:26:03,454 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 11 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 208 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 208 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 13:26:03,455 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 172 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 208 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 13:26:03,455 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-28 13:26:03,495 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 99. [2022-04-28 13:26:03,496 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:26:03,496 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 13:26:03,496 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 13:26:03,497 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 13:26:03,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:26:03,500 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-28 13:26:03,500 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-28 13:26:03,501 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:26:03,501 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:26:03,501 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 101 states. [2022-04-28 13:26:03,501 INFO L87 Difference]: Start difference. First operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 101 states. [2022-04-28 13:26:03,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:26:03,504 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-28 13:26:03,505 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-28 13:26:03,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:26:03,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:26:03,505 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:26:03,505 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:26:03,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 13:26:03,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 117 transitions. [2022-04-28 13:26:03,509 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 117 transitions. Word has length 64 [2022-04-28 13:26:03,509 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:26:03,509 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 117 transitions. [2022-04-28 13:26:03,509 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 13:26:03,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 117 transitions. [2022-04-28 13:26:03,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:26:03,633 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 117 transitions. [2022-04-28 13:26:03,634 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 13:26:03,634 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:26:03,634 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:26:03,652 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 13:26:03,843 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:26:03,843 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:26:03,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:26:03,844 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 3 times [2022-04-28 13:26:03,844 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:26:03,844 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [198004735] [2022-04-28 13:26:07,949 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:26:07,949 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:26:07,949 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 4 times [2022-04-28 13:26:07,949 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:26:07,949 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [762163528] [2022-04-28 13:26:07,949 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:26:07,950 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:26:07,961 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:26:07,961 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1608537104] [2022-04-28 13:26:07,961 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:26:07,961 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:26:07,962 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:26:07,968 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:26:07,973 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 13:26:08,015 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:26:08,015 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:26:08,016 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 13:26:08,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:26:08,037 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:26:08,411 INFO L272 TraceCheckUtils]: 0: Hoare triple {3460#true} call ULTIMATE.init(); {3460#true} is VALID [2022-04-28 13:26:08,411 INFO L290 TraceCheckUtils]: 1: Hoare triple {3460#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {3460#true} is VALID [2022-04-28 13:26:08,411 INFO L290 TraceCheckUtils]: 2: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:08,412 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3460#true} {3460#true} #94#return; {3460#true} is VALID [2022-04-28 13:26:08,412 INFO L272 TraceCheckUtils]: 4: Hoare triple {3460#true} call #t~ret5 := main(); {3460#true} is VALID [2022-04-28 13:26:08,412 INFO L290 TraceCheckUtils]: 5: Hoare triple {3460#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {3460#true} is VALID [2022-04-28 13:26:08,412 INFO L272 TraceCheckUtils]: 6: Hoare triple {3460#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:08,413 INFO L290 TraceCheckUtils]: 7: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:08,413 INFO L290 TraceCheckUtils]: 8: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:08,413 INFO L290 TraceCheckUtils]: 9: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:08,414 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3460#true} {3460#true} #78#return; {3460#true} is VALID [2022-04-28 13:26:08,414 INFO L290 TraceCheckUtils]: 11: Hoare triple {3460#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:08,415 INFO L290 TraceCheckUtils]: 12: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:08,418 INFO L272 TraceCheckUtils]: 13: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:08,418 INFO L290 TraceCheckUtils]: 14: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:08,418 INFO L290 TraceCheckUtils]: 15: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:08,419 INFO L290 TraceCheckUtils]: 16: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:08,420 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3460#true} {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:08,421 INFO L272 TraceCheckUtils]: 18: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:08,422 INFO L290 TraceCheckUtils]: 19: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:08,422 INFO L290 TraceCheckUtils]: 20: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:08,422 INFO L290 TraceCheckUtils]: 21: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:08,423 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3460#true} {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:08,423 INFO L272 TraceCheckUtils]: 23: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:08,423 INFO L290 TraceCheckUtils]: 24: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:08,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:08,425 INFO L290 TraceCheckUtils]: 26: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:08,425 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3460#true} {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:08,426 INFO L290 TraceCheckUtils]: 28: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:26:08,426 INFO L290 TraceCheckUtils]: 29: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:26:08,427 INFO L272 TraceCheckUtils]: 30: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:08,427 INFO L290 TraceCheckUtils]: 31: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:08,427 INFO L290 TraceCheckUtils]: 32: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:08,427 INFO L290 TraceCheckUtils]: 33: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:08,427 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:26:08,428 INFO L272 TraceCheckUtils]: 35: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:08,428 INFO L290 TraceCheckUtils]: 36: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:08,428 INFO L290 TraceCheckUtils]: 37: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:08,428 INFO L290 TraceCheckUtils]: 38: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:08,429 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:26:08,429 INFO L272 TraceCheckUtils]: 40: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:08,429 INFO L290 TraceCheckUtils]: 41: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:08,429 INFO L290 TraceCheckUtils]: 42: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:08,429 INFO L290 TraceCheckUtils]: 43: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:08,429 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #84#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:26:08,430 INFO L290 TraceCheckUtils]: 45: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:26:08,430 INFO L290 TraceCheckUtils]: 46: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:26:08,430 INFO L272 TraceCheckUtils]: 47: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:08,430 INFO L290 TraceCheckUtils]: 48: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:08,431 INFO L290 TraceCheckUtils]: 49: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:08,431 INFO L290 TraceCheckUtils]: 50: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:08,431 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #86#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:26:08,431 INFO L272 TraceCheckUtils]: 52: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:08,431 INFO L290 TraceCheckUtils]: 53: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:08,432 INFO L290 TraceCheckUtils]: 54: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:08,432 INFO L290 TraceCheckUtils]: 55: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:08,432 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3460#true} {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #88#return; {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:26:08,433 INFO L290 TraceCheckUtils]: 57: Hoare triple {3550#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 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); {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:08,433 INFO L290 TraceCheckUtils]: 58: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:08,433 INFO L290 TraceCheckUtils]: 59: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:08,434 INFO L272 TraceCheckUtils]: 60: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:08,434 INFO L290 TraceCheckUtils]: 61: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:08,434 INFO L290 TraceCheckUtils]: 62: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:08,434 INFO L290 TraceCheckUtils]: 63: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:08,434 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3460#true} {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #86#return; {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:08,435 INFO L272 TraceCheckUtils]: 65: Hoare triple {3498#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:26:08,435 INFO L290 TraceCheckUtils]: 66: Hoare triple {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3666#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:26:08,436 INFO L290 TraceCheckUtils]: 67: Hoare triple {3666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3461#false} is VALID [2022-04-28 13:26:08,436 INFO L290 TraceCheckUtils]: 68: Hoare triple {3461#false} assume !false; {3461#false} is VALID [2022-04-28 13:26:08,436 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 13:26:08,436 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:26:13,814 INFO L290 TraceCheckUtils]: 68: Hoare triple {3461#false} assume !false; {3461#false} is VALID [2022-04-28 13:26:13,814 INFO L290 TraceCheckUtils]: 67: Hoare triple {3666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3461#false} is VALID [2022-04-28 13:26:13,819 INFO L290 TraceCheckUtils]: 66: Hoare triple {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3666#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:26:13,819 INFO L272 TraceCheckUtils]: 65: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:26:13,822 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3460#true} {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} #86#return; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:26:13,822 INFO L290 TraceCheckUtils]: 63: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:13,822 INFO L290 TraceCheckUtils]: 62: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:13,822 INFO L290 TraceCheckUtils]: 61: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:13,822 INFO L272 TraceCheckUtils]: 60: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:13,822 INFO L290 TraceCheckUtils]: 59: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:26:13,822 INFO L290 TraceCheckUtils]: 58: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:26:13,835 INFO L290 TraceCheckUtils]: 57: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~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); {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:26:13,835 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3460#true} {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} #88#return; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-28 13:26:13,835 INFO L290 TraceCheckUtils]: 55: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:13,835 INFO L290 TraceCheckUtils]: 54: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:13,835 INFO L290 TraceCheckUtils]: 53: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:13,835 INFO L272 TraceCheckUtils]: 52: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:13,836 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3460#true} {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} #86#return; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-28 13:26:13,836 INFO L290 TraceCheckUtils]: 50: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:13,836 INFO L290 TraceCheckUtils]: 49: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:13,836 INFO L290 TraceCheckUtils]: 48: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:13,836 INFO L272 TraceCheckUtils]: 47: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:13,837 INFO L290 TraceCheckUtils]: 46: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} assume !false; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-28 13:26:13,838 INFO L290 TraceCheckUtils]: 45: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} assume !(~r~0 >= ~d~0); {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-28 13:26:13,838 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3460#true} {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} #84#return; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-28 13:26:13,838 INFO L290 TraceCheckUtils]: 43: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:13,839 INFO L290 TraceCheckUtils]: 42: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:13,839 INFO L290 TraceCheckUtils]: 41: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:13,839 INFO L272 TraceCheckUtils]: 40: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:13,839 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3460#true} {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} #82#return; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-28 13:26:13,839 INFO L290 TraceCheckUtils]: 38: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:13,839 INFO L290 TraceCheckUtils]: 37: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:13,839 INFO L290 TraceCheckUtils]: 36: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:13,839 INFO L272 TraceCheckUtils]: 35: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:13,840 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3460#true} {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} #80#return; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-28 13:26:13,840 INFO L290 TraceCheckUtils]: 33: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:13,840 INFO L290 TraceCheckUtils]: 32: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:13,840 INFO L290 TraceCheckUtils]: 31: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:13,840 INFO L272 TraceCheckUtils]: 30: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:13,841 INFO L290 TraceCheckUtils]: 29: Hoare triple {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} assume !false; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-28 13:26:13,845 INFO L290 TraceCheckUtils]: 28: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3707#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~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)) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1)))))))} is VALID [2022-04-28 13:26:13,846 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3460#true} {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:26:13,846 INFO L290 TraceCheckUtils]: 26: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:13,846 INFO L290 TraceCheckUtils]: 25: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:13,846 INFO L290 TraceCheckUtils]: 24: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:13,846 INFO L272 TraceCheckUtils]: 23: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:13,847 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3460#true} {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:26:13,847 INFO L290 TraceCheckUtils]: 21: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:13,847 INFO L290 TraceCheckUtils]: 20: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:13,847 INFO L290 TraceCheckUtils]: 19: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:13,847 INFO L272 TraceCheckUtils]: 18: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:13,847 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3460#true} {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:26:13,847 INFO L290 TraceCheckUtils]: 16: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:13,847 INFO L290 TraceCheckUtils]: 15: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:13,848 INFO L290 TraceCheckUtils]: 14: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:13,848 INFO L272 TraceCheckUtils]: 13: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:13,848 INFO L290 TraceCheckUtils]: 12: Hoare triple {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:26:13,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {3460#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3682#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:26:13,848 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3460#true} {3460#true} #78#return; {3460#true} is VALID [2022-04-28 13:26:13,848 INFO L290 TraceCheckUtils]: 9: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:13,848 INFO L290 TraceCheckUtils]: 8: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-28 13:26:13,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-28 13:26:13,849 INFO L272 TraceCheckUtils]: 6: Hoare triple {3460#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {3460#true} is VALID [2022-04-28 13:26:13,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {3460#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {3460#true} is VALID [2022-04-28 13:26:13,849 INFO L272 TraceCheckUtils]: 4: Hoare triple {3460#true} call #t~ret5 := main(); {3460#true} is VALID [2022-04-28 13:26:13,849 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3460#true} {3460#true} #94#return; {3460#true} is VALID [2022-04-28 13:26:13,849 INFO L290 TraceCheckUtils]: 2: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-28 13:26:13,849 INFO L290 TraceCheckUtils]: 1: Hoare triple {3460#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {3460#true} is VALID [2022-04-28 13:26:13,849 INFO L272 TraceCheckUtils]: 0: Hoare triple {3460#true} call ULTIMATE.init(); {3460#true} is VALID [2022-04-28 13:26:13,849 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 13:26:13,849 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:26:13,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [762163528] [2022-04-28 13:26:13,849 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:26:13,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1608537104] [2022-04-28 13:26:13,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1608537104] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:26:13,850 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:26:13,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-28 13:26:13,850 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:26:13,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [198004735] [2022-04-28 13:26:13,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [198004735] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:26:13,850 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:26:13,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:26:13,850 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1335756730] [2022-04-28 13:26:13,850 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:26:13,851 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 69 [2022-04-28 13:26:13,851 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:26:13,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 13:26:13,886 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:26:13,887 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 13:26:13,887 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:26:13,887 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 13:26:13,887 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 13:26:13,887 INFO L87 Difference]: Start difference. First operand 99 states and 117 transitions. Second operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 13:26:14,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:26:14,217 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2022-04-28 13:26:14,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 13:26:14,218 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 69 [2022-04-28 13:26:14,218 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:26:14,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 13:26:14,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-28 13:26:14,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 13:26:14,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-28 13:26:14,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 93 transitions. [2022-04-28 13:26:14,302 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:26:14,307 INFO L225 Difference]: With dead ends: 126 [2022-04-28 13:26:14,307 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 13:26:14,308 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 129 SyntacticMatches, 2 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-28 13:26:14,308 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 6 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 101 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:26:14,308 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 175 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 101 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:26:14,309 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 13:26:14,365 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-28 13:26:14,366 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:26:14,366 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 13:26:14,366 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 13:26:14,367 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 13:26:14,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:26:14,370 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-28 13:26:14,370 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-28 13:26:14,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:26:14,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:26:14,371 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 103 states. [2022-04-28 13:26:14,371 INFO L87 Difference]: Start difference. First operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 103 states. [2022-04-28 13:26:14,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:26:14,374 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-28 13:26:14,374 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-28 13:26:14,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:26:14,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:26:14,374 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:26:14,374 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:26:14,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 13:26:14,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 118 transitions. [2022-04-28 13:26:14,378 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 118 transitions. Word has length 69 [2022-04-28 13:26:14,379 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:26:14,379 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 118 transitions. [2022-04-28 13:26:14,379 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.5) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 13:26:14,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 118 transitions. [2022-04-28 13:26:14,497 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:26:14,497 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-28 13:26:14,498 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 13:26:14,498 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:26:14,498 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:26:14,514 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 13:26:14,699 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:26:14,699 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:26:14,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:26:14,700 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 1 times [2022-04-28 13:26:14,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:26:14,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [698807061] [2022-04-28 13:26:17,209 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:26:17,210 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:26:17,210 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 2 times [2022-04-28 13:26:17,210 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:26:17,210 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1772105935] [2022-04-28 13:26:17,210 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:26:17,210 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:26:17,238 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:26:17,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [288082765] [2022-04-28 13:26:17,239 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:26:17,239 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:26:17,239 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:26:17,240 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:26:17,246 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 13:26:17,289 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:26:17,290 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:26:17,291 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 13:26:17,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:26:17,305 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:26:17,887 INFO L272 TraceCheckUtils]: 0: Hoare triple {4547#true} call ULTIMATE.init(); {4547#true} is VALID [2022-04-28 13:26:17,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {4547#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {4547#true} is VALID [2022-04-28 13:26:17,888 INFO L290 TraceCheckUtils]: 2: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:17,888 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4547#true} {4547#true} #94#return; {4547#true} is VALID [2022-04-28 13:26:17,888 INFO L272 TraceCheckUtils]: 4: Hoare triple {4547#true} call #t~ret5 := main(); {4547#true} is VALID [2022-04-28 13:26:17,888 INFO L290 TraceCheckUtils]: 5: Hoare triple {4547#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {4547#true} is VALID [2022-04-28 13:26:17,888 INFO L272 TraceCheckUtils]: 6: Hoare triple {4547#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:17,888 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:17,888 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:17,888 INFO L290 TraceCheckUtils]: 9: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:17,888 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4547#true} {4547#true} #78#return; {4547#true} is VALID [2022-04-28 13:26:17,891 INFO L290 TraceCheckUtils]: 11: Hoare triple {4547#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:17,892 INFO L290 TraceCheckUtils]: 12: Hoare triple {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:17,892 INFO L272 TraceCheckUtils]: 13: Hoare triple {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:17,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:17,892 INFO L290 TraceCheckUtils]: 15: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:17,892 INFO L290 TraceCheckUtils]: 16: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:17,892 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4547#true} {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:17,893 INFO L272 TraceCheckUtils]: 18: Hoare triple {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:17,893 INFO L290 TraceCheckUtils]: 19: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:26:17,893 INFO L290 TraceCheckUtils]: 20: Hoare triple {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:26:17,893 INFO L290 TraceCheckUtils]: 21: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:26:17,894 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:17,894 INFO L272 TraceCheckUtils]: 23: Hoare triple {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:17,894 INFO L290 TraceCheckUtils]: 24: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:17,894 INFO L290 TraceCheckUtils]: 25: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:17,894 INFO L290 TraceCheckUtils]: 26: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:17,895 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4547#true} {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:17,895 INFO L290 TraceCheckUtils]: 28: Hoare triple {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:17,896 INFO L290 TraceCheckUtils]: 29: Hoare triple {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:17,896 INFO L272 TraceCheckUtils]: 30: Hoare triple {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:17,896 INFO L290 TraceCheckUtils]: 31: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:17,896 INFO L290 TraceCheckUtils]: 32: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:17,896 INFO L290 TraceCheckUtils]: 33: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:17,896 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4547#true} {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:17,897 INFO L272 TraceCheckUtils]: 35: Hoare triple {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:17,897 INFO L290 TraceCheckUtils]: 36: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:17,897 INFO L290 TraceCheckUtils]: 37: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:17,897 INFO L290 TraceCheckUtils]: 38: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:17,897 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4547#true} {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:17,897 INFO L272 TraceCheckUtils]: 40: Hoare triple {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:17,897 INFO L290 TraceCheckUtils]: 41: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:17,897 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:17,897 INFO L290 TraceCheckUtils]: 43: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:17,898 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4547#true} {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:17,898 INFO L290 TraceCheckUtils]: 45: Hoare triple {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:17,899 INFO L290 TraceCheckUtils]: 46: Hoare triple {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:17,899 INFO L272 TraceCheckUtils]: 47: Hoare triple {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:17,899 INFO L290 TraceCheckUtils]: 48: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:17,899 INFO L290 TraceCheckUtils]: 49: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:17,899 INFO L290 TraceCheckUtils]: 50: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:17,899 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4547#true} {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #86#return; {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:17,900 INFO L272 TraceCheckUtils]: 52: Hoare triple {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:17,900 INFO L290 TraceCheckUtils]: 53: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:17,900 INFO L290 TraceCheckUtils]: 54: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:17,900 INFO L290 TraceCheckUtils]: 55: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:17,900 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4547#true} {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #88#return; {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:17,901 INFO L290 TraceCheckUtils]: 57: Hoare triple {4639#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 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); {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:17,901 INFO L290 TraceCheckUtils]: 58: Hoare triple {4585#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4730#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:17,902 INFO L290 TraceCheckUtils]: 59: Hoare triple {4730#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {4730#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:17,902 INFO L272 TraceCheckUtils]: 60: Hoare triple {4730#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:17,902 INFO L290 TraceCheckUtils]: 61: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:26:17,902 INFO L290 TraceCheckUtils]: 62: Hoare triple {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:26:17,902 INFO L290 TraceCheckUtils]: 63: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:26:17,903 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4730#(and (<= main_~p~0 main_~q~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #86#return; {4749#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:17,903 INFO L272 TraceCheckUtils]: 65: Hoare triple {4749#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:17,903 INFO L290 TraceCheckUtils]: 66: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:26:17,904 INFO L290 TraceCheckUtils]: 67: Hoare triple {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:26:17,904 INFO L290 TraceCheckUtils]: 68: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:26:17,905 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4749#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #88#return; {4765#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} is VALID [2022-04-28 13:26:17,905 INFO L290 TraceCheckUtils]: 70: Hoare triple {4765#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} assume !(1 != ~p~0); {4769#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0))} is VALID [2022-04-28 13:26:17,906 INFO L272 TraceCheckUtils]: 71: Hoare triple {4769#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:26:17,906 INFO L290 TraceCheckUtils]: 72: Hoare triple {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:26:17,906 INFO L290 TraceCheckUtils]: 73: Hoare triple {4777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4548#false} is VALID [2022-04-28 13:26:17,906 INFO L290 TraceCheckUtils]: 74: Hoare triple {4548#false} assume !false; {4548#false} is VALID [2022-04-28 13:26:17,907 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 62 proven. 30 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-04-28 13:26:17,907 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:26:28,270 INFO L290 TraceCheckUtils]: 74: Hoare triple {4548#false} assume !false; {4548#false} is VALID [2022-04-28 13:26:28,271 INFO L290 TraceCheckUtils]: 73: Hoare triple {4777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4548#false} is VALID [2022-04-28 13:26:28,273 INFO L290 TraceCheckUtils]: 72: Hoare triple {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:26:28,276 INFO L272 TraceCheckUtils]: 71: Hoare triple {4793#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:26:28,276 INFO L290 TraceCheckUtils]: 70: Hoare triple {4797#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4793#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:26:28,277 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4801#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} #88#return; {4797#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:26:28,277 INFO L290 TraceCheckUtils]: 68: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:26:28,278 INFO L290 TraceCheckUtils]: 67: Hoare triple {4811#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:26:28,278 INFO L290 TraceCheckUtils]: 66: Hoare triple {4547#true} ~cond := #in~cond; {4811#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:26:28,278 INFO L272 TraceCheckUtils]: 65: Hoare triple {4801#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:28,280 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} {4547#true} #86#return; {4801#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:26:28,280 INFO L290 TraceCheckUtils]: 63: Hoare triple {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:26:28,281 INFO L290 TraceCheckUtils]: 62: Hoare triple {4811#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:26:28,281 INFO L290 TraceCheckUtils]: 61: Hoare triple {4547#true} ~cond := #in~cond; {4811#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:26:28,281 INFO L272 TraceCheckUtils]: 60: Hoare triple {4547#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:28,281 INFO L290 TraceCheckUtils]: 59: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-28 13:26:28,281 INFO L290 TraceCheckUtils]: 58: Hoare triple {4547#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4547#true} is VALID [2022-04-28 13:26:28,281 INFO L290 TraceCheckUtils]: 57: Hoare triple {4547#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4547#true} is VALID [2022-04-28 13:26:28,281 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4547#true} {4547#true} #88#return; {4547#true} is VALID [2022-04-28 13:26:28,281 INFO L290 TraceCheckUtils]: 55: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:28,281 INFO L290 TraceCheckUtils]: 54: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L290 TraceCheckUtils]: 53: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L272 TraceCheckUtils]: 52: Hoare triple {4547#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4547#true} {4547#true} #86#return; {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L290 TraceCheckUtils]: 50: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L290 TraceCheckUtils]: 49: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L290 TraceCheckUtils]: 48: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L272 TraceCheckUtils]: 47: Hoare triple {4547#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L290 TraceCheckUtils]: 46: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L290 TraceCheckUtils]: 45: Hoare triple {4547#true} assume !(~r~0 >= ~d~0); {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4547#true} {4547#true} #84#return; {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L290 TraceCheckUtils]: 43: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L290 TraceCheckUtils]: 41: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L272 TraceCheckUtils]: 40: Hoare triple {4547#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:28,282 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4547#true} {4547#true} #82#return; {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L290 TraceCheckUtils]: 38: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L290 TraceCheckUtils]: 37: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L290 TraceCheckUtils]: 36: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L272 TraceCheckUtils]: 35: Hoare triple {4547#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4547#true} {4547#true} #80#return; {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L290 TraceCheckUtils]: 33: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L290 TraceCheckUtils]: 32: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L290 TraceCheckUtils]: 31: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L272 TraceCheckUtils]: 30: Hoare triple {4547#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L290 TraceCheckUtils]: 29: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L290 TraceCheckUtils]: 28: Hoare triple {4547#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4547#true} {4547#true} #84#return; {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L290 TraceCheckUtils]: 26: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L290 TraceCheckUtils]: 25: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L290 TraceCheckUtils]: 24: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L272 TraceCheckUtils]: 23: Hoare triple {4547#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4547#true} {4547#true} #82#return; {4547#true} is VALID [2022-04-28 13:26:28,283 INFO L290 TraceCheckUtils]: 21: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L290 TraceCheckUtils]: 20: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L290 TraceCheckUtils]: 19: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L272 TraceCheckUtils]: 18: Hoare triple {4547#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4547#true} {4547#true} #80#return; {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L290 TraceCheckUtils]: 16: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L290 TraceCheckUtils]: 15: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L290 TraceCheckUtils]: 14: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L272 TraceCheckUtils]: 13: Hoare triple {4547#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L290 TraceCheckUtils]: 12: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L290 TraceCheckUtils]: 11: Hoare triple {4547#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4547#true} {4547#true} #78#return; {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L290 TraceCheckUtils]: 9: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L272 TraceCheckUtils]: 6: Hoare triple {4547#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {4547#true} is VALID [2022-04-28 13:26:28,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {4547#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {4547#true} is VALID [2022-04-28 13:26:28,285 INFO L272 TraceCheckUtils]: 4: Hoare triple {4547#true} call #t~ret5 := main(); {4547#true} is VALID [2022-04-28 13:26:28,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4547#true} {4547#true} #94#return; {4547#true} is VALID [2022-04-28 13:26:28,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-28 13:26:28,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {4547#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {4547#true} is VALID [2022-04-28 13:26:28,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {4547#true} call ULTIMATE.init(); {4547#true} is VALID [2022-04-28 13:26:28,285 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-28 13:26:28,285 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:26:28,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1772105935] [2022-04-28 13:26:28,286 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:26:28,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [288082765] [2022-04-28 13:26:28,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [288082765] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:26:28,286 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:26:28,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-28 13:26:28,286 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:26:28,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [698807061] [2022-04-28 13:26:28,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [698807061] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:26:28,286 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:26:28,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 13:26:28,286 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1094427851] [2022-04-28 13:26:28,286 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:26:28,287 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-28 13:26:28,287 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:26:28,287 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 13:26:28,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:26:28,329 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 13:26:28,329 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:26:28,330 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 13:26:28,330 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-28 13:26:28,330 INFO L87 Difference]: Start difference. First operand 103 states and 118 transitions. Second operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 13:26:29,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:26:29,224 INFO L93 Difference]: Finished difference Result 109 states and 123 transitions. [2022-04-28 13:26:29,224 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 13:26:29,224 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-28 13:26:29,225 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:26:29,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 13:26:29,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-28 13:26:29,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 13:26:29,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-28 13:26:29,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 74 transitions. [2022-04-28 13:26:29,299 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-28 13:26:29,300 INFO L225 Difference]: With dead ends: 109 [2022-04-28 13:26:29,300 INFO L226 Difference]: Without dead ends: 81 [2022-04-28 13:26:29,301 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-28 13:26:29,301 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 354 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 378 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 354 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 13:26:29,302 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 172 Invalid, 378 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 354 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 13:26:29,303 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-28 13:26:29,341 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-28 13:26:29,341 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:26:29,342 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 13:26:29,342 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 13:26:29,342 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 13:26:29,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:26:29,344 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-28 13:26:29,345 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-28 13:26:29,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:26:29,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:26:29,345 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 81 states. [2022-04-28 13:26:29,346 INFO L87 Difference]: Start difference. First operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 81 states. [2022-04-28 13:26:29,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:26:29,348 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-28 13:26:29,348 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-28 13:26:29,348 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:26:29,348 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:26:29,348 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:26:29,348 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:26:29,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 48 states have (on average 1.125) internal successors, (54), 51 states have internal predecessors, (54), 21 states have call successors, (21), 12 states have call predecessors, (21), 11 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 13:26:29,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 94 transitions. [2022-04-28 13:26:29,351 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 94 transitions. Word has length 75 [2022-04-28 13:26:29,351 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:26:29,351 INFO L495 AbstractCegarLoop]: Abstraction has 81 states and 94 transitions. [2022-04-28 13:26:29,351 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 13:26:29,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 94 transitions. [2022-04-28 13:26:29,445 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:26:29,445 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-28 13:26:29,446 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 13:26:29,446 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:26:29,446 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 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] [2022-04-28 13:26:29,462 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 13:26:29,646 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:26:29,647 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:26:29,647 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:26:29,647 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 5 times [2022-04-28 13:26:29,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:26:29,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1971188166] [2022-04-28 13:26:33,733 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:26:33,733 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:26:33,733 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 6 times [2022-04-28 13:26:33,733 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:26:33,733 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1572930151] [2022-04-28 13:26:33,733 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:26:33,733 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:26:33,743 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:26:33,743 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [653971828] [2022-04-28 13:26:33,743 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:26:33,743 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:26:33,743 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:26:33,748 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:26:33,751 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 13:26:33,798 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 13:26:33,798 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:26:33,799 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 13:26:33,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:26:33,813 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:26:37,639 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 13:26:37,748 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 13:26:38,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2022-04-28 13:26:38,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {5558#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {5558#true} is VALID [2022-04-28 13:26:38,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:26:38,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #94#return; {5558#true} is VALID [2022-04-28 13:26:38,134 INFO L272 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret5 := main(); {5558#true} is VALID [2022-04-28 13:26:38,134 INFO L290 TraceCheckUtils]: 5: Hoare triple {5558#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {5558#true} is VALID [2022-04-28 13:26:38,134 INFO L272 TraceCheckUtils]: 6: Hoare triple {5558#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:26:38,134 INFO L290 TraceCheckUtils]: 7: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:26:38,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:26:38,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:26:38,134 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5558#true} {5558#true} #78#return; {5558#true} is VALID [2022-04-28 13:26:38,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {5558#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,135 INFO L290 TraceCheckUtils]: 12: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,135 INFO L272 TraceCheckUtils]: 13: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:26:38,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:26:38,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:26:38,135 INFO L290 TraceCheckUtils]: 16: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:26:38,135 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,135 INFO L272 TraceCheckUtils]: 18: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:26:38,135 INFO L290 TraceCheckUtils]: 19: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:26:38,136 INFO L290 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:26:38,136 INFO L290 TraceCheckUtils]: 21: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:26:38,136 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,136 INFO L272 TraceCheckUtils]: 23: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:26:38,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:26:38,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:26:38,136 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:26:38,137 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,137 INFO L290 TraceCheckUtils]: 28: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,138 INFO L290 TraceCheckUtils]: 29: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,138 INFO L272 TraceCheckUtils]: 30: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:26:38,138 INFO L290 TraceCheckUtils]: 31: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:26:38,138 INFO L290 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:26:38,138 INFO L290 TraceCheckUtils]: 33: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:26:38,138 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,138 INFO L272 TraceCheckUtils]: 35: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:26:38,138 INFO L290 TraceCheckUtils]: 36: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:26:38,138 INFO L290 TraceCheckUtils]: 37: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:26:38,138 INFO L290 TraceCheckUtils]: 38: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:26:38,139 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,139 INFO L272 TraceCheckUtils]: 40: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:26:38,139 INFO L290 TraceCheckUtils]: 41: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:26:38,139 INFO L290 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:26:38,139 INFO L290 TraceCheckUtils]: 43: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:26:38,140 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5558#true} {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,140 INFO L290 TraceCheckUtils]: 45: Hoare triple {5596#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:26:38,141 INFO L290 TraceCheckUtils]: 46: Hoare triple {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !false; {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:26:38,141 INFO L272 TraceCheckUtils]: 47: Hoare triple {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:26:38,141 INFO L290 TraceCheckUtils]: 48: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:26:38,141 INFO L290 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:26:38,141 INFO L290 TraceCheckUtils]: 50: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:26:38,143 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5558#true} {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #80#return; {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:26:38,144 INFO L272 TraceCheckUtils]: 52: Hoare triple {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:26:38,144 INFO L290 TraceCheckUtils]: 53: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:26:38,144 INFO L290 TraceCheckUtils]: 54: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:26:38,144 INFO L290 TraceCheckUtils]: 55: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:26:38,144 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5558#true} {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #82#return; {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:26:38,145 INFO L272 TraceCheckUtils]: 57: Hoare triple {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:26:38,145 INFO L290 TraceCheckUtils]: 58: Hoare triple {5558#true} ~cond := #in~cond; {5739#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:26:38,145 INFO L290 TraceCheckUtils]: 59: Hoare triple {5739#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:26:38,146 INFO L290 TraceCheckUtils]: 60: Hoare triple {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:26:38,147 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} {5699#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #84#return; {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:26:38,147 INFO L290 TraceCheckUtils]: 62: Hoare triple {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:26:38,148 INFO L290 TraceCheckUtils]: 63: Hoare triple {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !false; {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:26:38,148 INFO L272 TraceCheckUtils]: 64: Hoare triple {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:26:38,148 INFO L290 TraceCheckUtils]: 65: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:26:38,148 INFO L290 TraceCheckUtils]: 66: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:26:38,148 INFO L290 TraceCheckUtils]: 67: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:26:38,149 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5558#true} {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #86#return; {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:26:38,149 INFO L272 TraceCheckUtils]: 69: Hoare triple {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:26:38,149 INFO L290 TraceCheckUtils]: 70: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:26:38,149 INFO L290 TraceCheckUtils]: 71: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:26:38,149 INFO L290 TraceCheckUtils]: 72: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:26:38,150 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5558#true} {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #88#return; {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:26:38,151 INFO L290 TraceCheckUtils]: 74: Hoare triple {5750#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (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); {5790#(and (= main_~A~0 main_~r~0) (< (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2) 2) (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2)) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,152 INFO L290 TraceCheckUtils]: 75: Hoare triple {5790#(and (= main_~A~0 main_~r~0) (< (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2) 2) (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2)) (= main_~q~0 0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5794#(and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (< (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2) 2) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,152 INFO L290 TraceCheckUtils]: 76: Hoare triple {5794#(and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (< (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2) 2) (= main_~B~0 1))} assume !false; {5794#(and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (< (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2) 2) (= main_~B~0 1))} is VALID [2022-04-28 13:26:38,153 INFO L272 TraceCheckUtils]: 77: Hoare triple {5794#(and (<= 0 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2)) (< (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2) 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:26:38,154 INFO L290 TraceCheckUtils]: 78: Hoare triple {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5805#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:26:38,154 INFO L290 TraceCheckUtils]: 79: Hoare triple {5805#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5559#false} is VALID [2022-04-28 13:26:38,154 INFO L290 TraceCheckUtils]: 80: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2022-04-28 13:26:38,155 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 55 proven. 9 refuted. 0 times theorem prover too weak. 195 trivial. 0 not checked. [2022-04-28 13:26:38,155 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:27:06,825 WARN L855 $PredicateComparison]: unable to prove that (or (let ((.cse4 (= (mod c_main_~p~0 2) 0)) (.cse8 (< c_main_~p~0 0)) (.cse9 (div c_main_~p~0 2))) (let ((.cse7 (< c_main_~d~0 0)) (.cse6 (= (mod c_main_~d~0 2) 0)) (.cse3 (* (+ c_main_~q~0 .cse9 1) c_main_~B~0)) (.cse5 (not .cse8)) (.cse0 (* (- 1) (div c_main_~d~0 2))) (.cse1 (* (+ c_main_~q~0 .cse9) c_main_~B~0)) (.cse2 (and (not .cse4) .cse8))) (and (or (and (or (= c_main_~A~0 (+ (- 1) c_main_~r~0 .cse0 .cse1)) .cse2) (or (= c_main_~A~0 (+ (- 1) .cse3 c_main_~r~0 .cse0)) .cse4 .cse5)) .cse6 (not .cse7)) (or (and .cse7 (not .cse6)) (and (or (= (+ .cse3 c_main_~r~0 .cse0) c_main_~A~0) .cse4 .cse5) (or (= c_main_~A~0 (+ c_main_~r~0 .cse0 .cse1)) .cse2)))))) (not (= (* c_main_~p~0 c_main_~B~0) c_main_~d~0))) is different from true [2022-04-28 13:28:13,826 INFO L290 TraceCheckUtils]: 80: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2022-04-28 13:28:13,826 INFO L290 TraceCheckUtils]: 79: Hoare triple {5805#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5559#false} is VALID [2022-04-28 13:28:13,827 INFO L290 TraceCheckUtils]: 78: Hoare triple {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5805#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:28:13,828 INFO L272 TraceCheckUtils]: 77: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:28:13,828 INFO L290 TraceCheckUtils]: 76: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:28:13,838 INFO L290 TraceCheckUtils]: 75: Hoare triple {5828#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:28:13,861 INFO L290 TraceCheckUtils]: 74: Hoare triple {5832#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (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); {5828#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:28:13,862 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5558#true} {5832#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #88#return; {5832#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:28:13,862 INFO L290 TraceCheckUtils]: 72: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:28:13,862 INFO L290 TraceCheckUtils]: 71: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:28:13,862 INFO L290 TraceCheckUtils]: 70: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:28:13,862 INFO L272 TraceCheckUtils]: 69: Hoare triple {5832#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:28:13,862 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5558#true} {5832#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #86#return; {5832#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:28:13,863 INFO L290 TraceCheckUtils]: 67: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:28:13,863 INFO L290 TraceCheckUtils]: 66: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:28:13,863 INFO L290 TraceCheckUtils]: 65: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:28:13,863 INFO L272 TraceCheckUtils]: 64: Hoare triple {5832#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:28:13,864 INFO L290 TraceCheckUtils]: 63: Hoare triple {5832#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {5832#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:28:13,864 INFO L290 TraceCheckUtils]: 62: Hoare triple {5832#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !(~r~0 >= ~d~0); {5832#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:28:13,865 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} {5872#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #84#return; {5832#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:28:13,866 INFO L290 TraceCheckUtils]: 60: Hoare triple {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:28:13,866 INFO L290 TraceCheckUtils]: 59: Hoare triple {5882#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:28:13,866 INFO L290 TraceCheckUtils]: 58: Hoare triple {5558#true} ~cond := #in~cond; {5882#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:28:13,866 INFO L272 TraceCheckUtils]: 57: Hoare triple {5872#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:28:13,867 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5558#true} {5872#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #82#return; {5872#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:28:13,867 INFO L290 TraceCheckUtils]: 55: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:28:13,867 INFO L290 TraceCheckUtils]: 54: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:28:13,867 INFO L290 TraceCheckUtils]: 53: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:28:13,867 INFO L272 TraceCheckUtils]: 52: Hoare triple {5872#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:28:13,868 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5558#true} {5872#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #80#return; {5872#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:28:13,868 INFO L290 TraceCheckUtils]: 50: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:28:13,868 INFO L290 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:28:13,868 INFO L290 TraceCheckUtils]: 48: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:28:13,868 INFO L272 TraceCheckUtils]: 47: Hoare triple {5872#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:28:13,884 INFO L290 TraceCheckUtils]: 46: Hoare triple {5872#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} assume !false; {5872#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:28:13,891 INFO L290 TraceCheckUtils]: 45: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5872#(or (and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-28 13:28:13,892 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #84#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:28:13,892 INFO L290 TraceCheckUtils]: 43: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:28:13,892 INFO L290 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:28:13,892 INFO L290 TraceCheckUtils]: 41: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:28:13,892 INFO L272 TraceCheckUtils]: 40: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:28:13,893 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #82#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:28:13,893 INFO L290 TraceCheckUtils]: 38: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:28:13,893 INFO L290 TraceCheckUtils]: 37: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:28:13,893 INFO L290 TraceCheckUtils]: 36: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:28:13,893 INFO L272 TraceCheckUtils]: 35: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:28:13,894 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #80#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:28:13,894 INFO L290 TraceCheckUtils]: 33: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:28:13,894 INFO L290 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:28:13,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:28:13,894 INFO L272 TraceCheckUtils]: 30: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:28:13,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:28:13,895 INFO L290 TraceCheckUtils]: 28: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:28:13,895 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #84#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:28:13,896 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:28:13,896 INFO L290 TraceCheckUtils]: 25: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:28:13,896 INFO L290 TraceCheckUtils]: 24: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:28:13,896 INFO L272 TraceCheckUtils]: 23: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:28:13,896 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #82#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:28:13,896 INFO L290 TraceCheckUtils]: 21: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:28:13,897 INFO L290 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:28:13,897 INFO L290 TraceCheckUtils]: 19: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:28:13,897 INFO L272 TraceCheckUtils]: 18: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:28:13,897 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5558#true} {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #80#return; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:28:13,897 INFO L290 TraceCheckUtils]: 16: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:28:13,897 INFO L290 TraceCheckUtils]: 15: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:28:13,897 INFO L290 TraceCheckUtils]: 14: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:28:13,898 INFO L272 TraceCheckUtils]: 13: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:28:13,898 INFO L290 TraceCheckUtils]: 12: Hoare triple {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:28:13,898 INFO L290 TraceCheckUtils]: 11: Hoare triple {5558#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5821#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:28:13,899 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5558#true} {5558#true} #78#return; {5558#true} is VALID [2022-04-28 13:28:13,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:28:13,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-28 13:28:13,899 INFO L290 TraceCheckUtils]: 7: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-28 13:28:13,899 INFO L272 TraceCheckUtils]: 6: Hoare triple {5558#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {5558#true} is VALID [2022-04-28 13:28:13,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {5558#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {5558#true} is VALID [2022-04-28 13:28:13,899 INFO L272 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret5 := main(); {5558#true} is VALID [2022-04-28 13:28:13,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #94#return; {5558#true} is VALID [2022-04-28 13:28:13,899 INFO L290 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-28 13:28:13,899 INFO L290 TraceCheckUtils]: 1: Hoare triple {5558#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {5558#true} is VALID [2022-04-28 13:28:13,899 INFO L272 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2022-04-28 13:28:13,900 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 45 proven. 11 refuted. 0 times theorem prover too weak. 195 trivial. 8 not checked. [2022-04-28 13:28:13,900 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:28:13,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1572930151] [2022-04-28 13:28:13,900 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:28:13,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [653971828] [2022-04-28 13:28:13,900 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [653971828] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:28:13,900 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:28:13,901 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-28 13:28:13,901 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:28:13,901 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1971188166] [2022-04-28 13:28:13,901 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1971188166] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:28:13,901 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:28:13,901 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 13:28:13,901 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1622284056] [2022-04-28 13:28:13,901 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:28:13,902 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 81 [2022-04-28 13:28:13,902 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:28:13,902 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 13:28:13,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:13,943 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 13:28:13,943 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:13,943 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 13:28:13,943 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=162, Unknown=1, NotChecked=26, Total=240 [2022-04-28 13:28:13,943 INFO L87 Difference]: Start difference. First operand 81 states and 94 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 13:28:14,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:14,627 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-28 13:28:14,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 13:28:14,627 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 81 [2022-04-28 13:28:14,627 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:28:14,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 13:28:14,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-28 13:28:14,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 13:28:14,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-28 13:28:14,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2022-04-28 13:28:14,722 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:14,723 INFO L225 Difference]: With dead ends: 106 [2022-04-28 13:28:14,723 INFO L226 Difference]: Without dead ends: 94 [2022-04-28 13:28:14,724 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 146 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=64, Invalid=211, Unknown=1, NotChecked=30, Total=306 [2022-04-28 13:28:14,724 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 28 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 222 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 250 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 222 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 13:28:14,724 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 129 Invalid, 250 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 222 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 13:28:14,725 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-28 13:28:14,775 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 91. [2022-04-28 13:28:14,775 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:28:14,776 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 13:28:14,776 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 13:28:14,776 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 13:28:14,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:14,778 INFO L93 Difference]: Finished difference Result 94 states and 111 transitions. [2022-04-28 13:28:14,778 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 111 transitions. [2022-04-28 13:28:14,779 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:14,779 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:14,779 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 94 states. [2022-04-28 13:28:14,779 INFO L87 Difference]: Start difference. First operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 94 states. [2022-04-28 13:28:14,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:14,782 INFO L93 Difference]: Finished difference Result 94 states and 111 transitions. [2022-04-28 13:28:14,782 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 111 transitions. [2022-04-28 13:28:14,803 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:14,803 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:14,803 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:28:14,803 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:28:14,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 57 states have internal predecessors, (63), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 13:28:14,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 107 transitions. [2022-04-28 13:28:14,809 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 107 transitions. Word has length 81 [2022-04-28 13:28:14,809 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:28:14,809 INFO L495 AbstractCegarLoop]: Abstraction has 91 states and 107 transitions. [2022-04-28 13:28:14,810 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 13:28:14,810 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 107 transitions. [2022-04-28 13:28:14,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:14,924 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-28 13:28:14,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 13:28:14,925 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:28:14,925 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 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] [2022-04-28 13:28:14,941 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-28 13:28:15,125 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:15,125 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:28:15,126 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:28:15,126 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 7 times [2022-04-28 13:28:15,126 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:15,126 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1218499448] [2022-04-28 13:28:19,212 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:28:19,212 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:28:19,212 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 8 times [2022-04-28 13:28:19,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:28:19,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [141138991] [2022-04-28 13:28:19,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:28:19,212 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:28:19,222 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:28:19,222 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1940098323] [2022-04-28 13:28:19,222 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:28:19,222 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:19,222 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:28:19,248 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:28:19,248 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 13:28:19,298 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:28:19,299 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:28:19,299 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 13:28:19,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:28:19,316 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:28:19,693 INFO L272 TraceCheckUtils]: 0: Hoare triple {6645#true} call ULTIMATE.init(); {6645#true} is VALID [2022-04-28 13:28:19,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {6645#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {6645#true} is VALID [2022-04-28 13:28:19,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,694 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6645#true} {6645#true} #94#return; {6645#true} is VALID [2022-04-28 13:28:19,694 INFO L272 TraceCheckUtils]: 4: Hoare triple {6645#true} call #t~ret5 := main(); {6645#true} is VALID [2022-04-28 13:28:19,694 INFO L290 TraceCheckUtils]: 5: Hoare triple {6645#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {6645#true} is VALID [2022-04-28 13:28:19,694 INFO L272 TraceCheckUtils]: 6: Hoare triple {6645#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,694 INFO L290 TraceCheckUtils]: 7: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,694 INFO L290 TraceCheckUtils]: 9: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,694 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6645#true} {6645#true} #78#return; {6645#true} is VALID [2022-04-28 13:28:19,694 INFO L290 TraceCheckUtils]: 11: Hoare triple {6645#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:28:19,695 INFO L290 TraceCheckUtils]: 12: Hoare triple {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:28:19,695 INFO L272 TraceCheckUtils]: 13: Hoare triple {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,695 INFO L290 TraceCheckUtils]: 14: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,695 INFO L290 TraceCheckUtils]: 15: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,695 INFO L290 TraceCheckUtils]: 16: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,695 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6645#true} {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:28:19,695 INFO L272 TraceCheckUtils]: 18: Hoare triple {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,695 INFO L290 TraceCheckUtils]: 19: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,695 INFO L290 TraceCheckUtils]: 20: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,696 INFO L290 TraceCheckUtils]: 21: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,696 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6645#true} {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:28:19,696 INFO L272 TraceCheckUtils]: 23: Hoare triple {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,696 INFO L290 TraceCheckUtils]: 24: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,696 INFO L290 TraceCheckUtils]: 25: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,696 INFO L290 TraceCheckUtils]: 26: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,697 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6645#true} {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:28:19,697 INFO L290 TraceCheckUtils]: 28: Hoare triple {6683#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:28:19,697 INFO L290 TraceCheckUtils]: 29: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:28:19,697 INFO L272 TraceCheckUtils]: 30: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,697 INFO L290 TraceCheckUtils]: 31: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,698 INFO L290 TraceCheckUtils]: 32: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,698 INFO L290 TraceCheckUtils]: 33: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,698 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6645#true} {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:28:19,698 INFO L272 TraceCheckUtils]: 35: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,698 INFO L290 TraceCheckUtils]: 36: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,698 INFO L290 TraceCheckUtils]: 37: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,698 INFO L290 TraceCheckUtils]: 38: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,699 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6645#true} {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:28:19,699 INFO L272 TraceCheckUtils]: 40: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,699 INFO L290 TraceCheckUtils]: 41: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,699 INFO L290 TraceCheckUtils]: 42: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,699 INFO L290 TraceCheckUtils]: 43: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,699 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6645#true} {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #84#return; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:28:19,700 INFO L290 TraceCheckUtils]: 45: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:19,700 INFO L290 TraceCheckUtils]: 46: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:19,700 INFO L272 TraceCheckUtils]: 47: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,700 INFO L290 TraceCheckUtils]: 48: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,700 INFO L290 TraceCheckUtils]: 49: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,700 INFO L290 TraceCheckUtils]: 50: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,701 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #80#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:19,701 INFO L272 TraceCheckUtils]: 52: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,701 INFO L290 TraceCheckUtils]: 53: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,701 INFO L290 TraceCheckUtils]: 54: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,701 INFO L290 TraceCheckUtils]: 55: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,701 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #82#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:19,701 INFO L272 TraceCheckUtils]: 57: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,702 INFO L290 TraceCheckUtils]: 58: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,702 INFO L290 TraceCheckUtils]: 59: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,702 INFO L290 TraceCheckUtils]: 60: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,702 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #84#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:19,702 INFO L290 TraceCheckUtils]: 62: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:19,703 INFO L290 TraceCheckUtils]: 63: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:19,703 INFO L272 TraceCheckUtils]: 64: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,703 INFO L290 TraceCheckUtils]: 65: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,703 INFO L290 TraceCheckUtils]: 66: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,703 INFO L290 TraceCheckUtils]: 67: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,703 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #86#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:19,703 INFO L272 TraceCheckUtils]: 69: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,704 INFO L290 TraceCheckUtils]: 70: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,704 INFO L290 TraceCheckUtils]: 71: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,704 INFO L290 TraceCheckUtils]: 72: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,704 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6645#true} {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #88#return; {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:19,704 INFO L290 TraceCheckUtils]: 74: Hoare triple {6787#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:28:19,705 INFO L290 TraceCheckUtils]: 75: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:28:19,705 INFO L290 TraceCheckUtils]: 76: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:28:19,705 INFO L272 TraceCheckUtils]: 77: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:19,705 INFO L290 TraceCheckUtils]: 78: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:19,705 INFO L290 TraceCheckUtils]: 79: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:19,705 INFO L290 TraceCheckUtils]: 80: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:19,707 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6645#true} {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #86#return; {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-28 13:28:19,708 INFO L272 TraceCheckUtils]: 82: Hoare triple {6735#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:28:19,708 INFO L290 TraceCheckUtils]: 83: Hoare triple {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6903#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:28:19,709 INFO L290 TraceCheckUtils]: 84: Hoare triple {6903#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6646#false} is VALID [2022-04-28 13:28:19,709 INFO L290 TraceCheckUtils]: 85: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-28 13:28:19,709 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-28 13:28:19,709 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:28:29,523 INFO L290 TraceCheckUtils]: 85: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-28 13:28:29,524 INFO L290 TraceCheckUtils]: 84: Hoare triple {6903#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6646#false} is VALID [2022-04-28 13:28:29,524 INFO L290 TraceCheckUtils]: 83: Hoare triple {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6903#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:28:29,525 INFO L272 TraceCheckUtils]: 82: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:28:29,526 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #86#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,526 INFO L290 TraceCheckUtils]: 80: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,526 INFO L290 TraceCheckUtils]: 79: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,526 INFO L290 TraceCheckUtils]: 78: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,526 INFO L272 TraceCheckUtils]: 77: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,530 INFO L290 TraceCheckUtils]: 76: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,531 INFO L290 TraceCheckUtils]: 75: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,551 INFO L290 TraceCheckUtils]: 74: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,552 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #88#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:28:29,552 INFO L290 TraceCheckUtils]: 72: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,552 INFO L290 TraceCheckUtils]: 71: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,552 INFO L290 TraceCheckUtils]: 70: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,552 INFO L272 TraceCheckUtils]: 69: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,553 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #86#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:28:29,553 INFO L290 TraceCheckUtils]: 67: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,553 INFO L290 TraceCheckUtils]: 66: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,553 INFO L290 TraceCheckUtils]: 65: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,553 INFO L272 TraceCheckUtils]: 64: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,554 INFO L290 TraceCheckUtils]: 63: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:28:29,554 INFO L290 TraceCheckUtils]: 62: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !(~r~0 >= ~d~0); {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:28:29,555 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #84#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:28:29,555 INFO L290 TraceCheckUtils]: 60: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,555 INFO L290 TraceCheckUtils]: 59: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,555 INFO L290 TraceCheckUtils]: 58: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,555 INFO L272 TraceCheckUtils]: 57: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,556 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #82#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:28:29,556 INFO L290 TraceCheckUtils]: 55: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,556 INFO L290 TraceCheckUtils]: 54: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,556 INFO L290 TraceCheckUtils]: 53: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,556 INFO L272 TraceCheckUtils]: 52: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,556 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6645#true} {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #80#return; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:28:29,556 INFO L290 TraceCheckUtils]: 50: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,556 INFO L290 TraceCheckUtils]: 49: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,557 INFO L290 TraceCheckUtils]: 48: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,557 INFO L272 TraceCheckUtils]: 47: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,557 INFO L290 TraceCheckUtils]: 46: Hoare triple {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:28:29,562 INFO L290 TraceCheckUtils]: 45: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6944#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:28:29,563 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,563 INFO L290 TraceCheckUtils]: 43: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,563 INFO L290 TraceCheckUtils]: 42: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,563 INFO L290 TraceCheckUtils]: 41: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,563 INFO L272 TraceCheckUtils]: 40: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,563 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,563 INFO L290 TraceCheckUtils]: 38: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,563 INFO L290 TraceCheckUtils]: 37: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,563 INFO L290 TraceCheckUtils]: 36: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,564 INFO L272 TraceCheckUtils]: 35: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,564 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,564 INFO L290 TraceCheckUtils]: 33: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,564 INFO L290 TraceCheckUtils]: 32: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,564 INFO L290 TraceCheckUtils]: 31: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,564 INFO L272 TraceCheckUtils]: 30: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,564 INFO L290 TraceCheckUtils]: 29: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,566 INFO L290 TraceCheckUtils]: 28: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,567 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,567 INFO L290 TraceCheckUtils]: 26: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,567 INFO L290 TraceCheckUtils]: 25: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,567 INFO L290 TraceCheckUtils]: 24: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,567 INFO L272 TraceCheckUtils]: 23: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,568 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,568 INFO L290 TraceCheckUtils]: 21: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,568 INFO L290 TraceCheckUtils]: 20: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,568 INFO L290 TraceCheckUtils]: 19: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,568 INFO L272 TraceCheckUtils]: 18: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,568 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6645#true} {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,568 INFO L290 TraceCheckUtils]: 16: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,568 INFO L290 TraceCheckUtils]: 15: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,568 INFO L272 TraceCheckUtils]: 13: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,569 INFO L290 TraceCheckUtils]: 12: Hoare triple {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,569 INFO L290 TraceCheckUtils]: 11: Hoare triple {6645#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6919#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:28:29,569 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6645#true} {6645#true} #78#return; {6645#true} is VALID [2022-04-28 13:28:29,569 INFO L290 TraceCheckUtils]: 9: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,569 INFO L290 TraceCheckUtils]: 8: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-28 13:28:29,569 INFO L290 TraceCheckUtils]: 7: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-28 13:28:29,569 INFO L272 TraceCheckUtils]: 6: Hoare triple {6645#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {6645#true} is VALID [2022-04-28 13:28:29,569 INFO L290 TraceCheckUtils]: 5: Hoare triple {6645#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {6645#true} is VALID [2022-04-28 13:28:29,569 INFO L272 TraceCheckUtils]: 4: Hoare triple {6645#true} call #t~ret5 := main(); {6645#true} is VALID [2022-04-28 13:28:29,569 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6645#true} {6645#true} #94#return; {6645#true} is VALID [2022-04-28 13:28:29,570 INFO L290 TraceCheckUtils]: 2: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-28 13:28:29,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {6645#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {6645#true} is VALID [2022-04-28 13:28:29,570 INFO L272 TraceCheckUtils]: 0: Hoare triple {6645#true} call ULTIMATE.init(); {6645#true} is VALID [2022-04-28 13:28:29,570 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 24 proven. 13 refuted. 0 times theorem prover too weak. 269 trivial. 0 not checked. [2022-04-28 13:28:29,570 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:28:29,570 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [141138991] [2022-04-28 13:28:29,570 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:28:29,570 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1940098323] [2022-04-28 13:28:29,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1940098323] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:28:29,571 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:28:29,571 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 9 [2022-04-28 13:28:29,571 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:28:29,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1218499448] [2022-04-28 13:28:29,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1218499448] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:28:29,571 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:28:29,571 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 13:28:29,571 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1840997700] [2022-04-28 13:28:29,571 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:28:29,572 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) Word has length 86 [2022-04-28 13:28:29,572 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:28:29,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 13:28:29,620 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:29,620 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 13:28:29,620 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:29,621 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 13:28:29,621 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-28 13:28:29,621 INFO L87 Difference]: Start difference. First operand 91 states and 107 transitions. Second operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 13:28:30,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:30,123 INFO L93 Difference]: Finished difference Result 170 states and 221 transitions. [2022-04-28 13:28:30,123 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 13:28:30,123 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) Word has length 86 [2022-04-28 13:28:30,123 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:28:30,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 13:28:30,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 111 transitions. [2022-04-28 13:28:30,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 13:28:30,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 111 transitions. [2022-04-28 13:28:30,127 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 111 transitions. [2022-04-28 13:28:30,209 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:30,211 INFO L225 Difference]: With dead ends: 170 [2022-04-28 13:28:30,211 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 13:28:30,212 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 161 SyntacticMatches, 3 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2022-04-28 13:28:30,212 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 10 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 182 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 233 SdHoareTripleChecker+Invalid, 191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 182 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:28:30,213 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 233 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 182 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:28:30,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 13:28:30,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-28 13:28:30,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:28:30,298 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:28:30,298 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:28:30,298 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:28:30,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:30,302 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-28 13:28:30,302 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 161 transitions. [2022-04-28 13:28:30,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:30,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:30,302 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 132 states. [2022-04-28 13:28:30,303 INFO L87 Difference]: Start difference. First operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 132 states. [2022-04-28 13:28:30,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:28:30,306 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-28 13:28:30,306 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 161 transitions. [2022-04-28 13:28:30,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:28:30,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:28:30,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:28:30,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:28:30,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 78 states have (on average 1.141025641025641) internal successors, (89), 82 states have internal predecessors, (89), 36 states have call successors, (36), 16 states have call predecessors, (36), 15 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:28:30,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 158 transitions. [2022-04-28 13:28:30,309 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 158 transitions. Word has length 86 [2022-04-28 13:28:30,310 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:28:30,310 INFO L495 AbstractCegarLoop]: Abstraction has 130 states and 158 transitions. [2022-04-28 13:28:30,310 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 6 states have internal predecessors, (23), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 4 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 13:28:30,310 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 158 transitions. [2022-04-28 13:28:30,478 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:28:30,479 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 158 transitions. [2022-04-28 13:28:30,479 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-28 13:28:30,479 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:28:30,480 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:28:30,497 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 13:28:30,687 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 13:28:30,687 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:28:30,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:28:30,688 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 9 times [2022-04-28 13:28:30,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:28:30,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [270966947] [2022-04-28 13:28:33,833 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:28:33,833 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:28:33,833 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 10 times [2022-04-28 13:28:33,833 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:28:33,833 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2040470604] [2022-04-28 13:28:33,834 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:28:33,834 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:28:33,846 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:28:33,846 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [723087277] [2022-04-28 13:28:33,846 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:28:33,847 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:28:33,847 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:28:33,860 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:28:33,861 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 13:28:33,914 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:28:33,915 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:28:33,916 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 13:28:33,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:28:33,931 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:28:34,520 INFO L272 TraceCheckUtils]: 0: Hoare triple {8035#true} call ULTIMATE.init(); {8035#true} is VALID [2022-04-28 13:28:34,520 INFO L290 TraceCheckUtils]: 1: Hoare triple {8035#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {8035#true} is VALID [2022-04-28 13:28:34,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,520 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8035#true} {8035#true} #94#return; {8035#true} is VALID [2022-04-28 13:28:34,520 INFO L272 TraceCheckUtils]: 4: Hoare triple {8035#true} call #t~ret5 := main(); {8035#true} is VALID [2022-04-28 13:28:34,520 INFO L290 TraceCheckUtils]: 5: Hoare triple {8035#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {8035#true} is VALID [2022-04-28 13:28:34,521 INFO L272 TraceCheckUtils]: 6: Hoare triple {8035#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,521 INFO L290 TraceCheckUtils]: 7: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,521 INFO L290 TraceCheckUtils]: 8: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,521 INFO L290 TraceCheckUtils]: 9: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,521 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8035#true} {8035#true} #78#return; {8035#true} is VALID [2022-04-28 13:28:34,532 INFO L290 TraceCheckUtils]: 11: Hoare triple {8035#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:28:34,532 INFO L290 TraceCheckUtils]: 12: Hoare triple {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:28:34,532 INFO L272 TraceCheckUtils]: 13: Hoare triple {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,532 INFO L290 TraceCheckUtils]: 14: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,533 INFO L290 TraceCheckUtils]: 15: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,533 INFO L290 TraceCheckUtils]: 16: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,533 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {8035#true} {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:28:34,533 INFO L272 TraceCheckUtils]: 18: Hoare triple {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,533 INFO L290 TraceCheckUtils]: 19: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,533 INFO L290 TraceCheckUtils]: 20: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,533 INFO L290 TraceCheckUtils]: 21: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,534 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8035#true} {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:28:34,534 INFO L272 TraceCheckUtils]: 23: Hoare triple {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,534 INFO L290 TraceCheckUtils]: 24: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,534 INFO L290 TraceCheckUtils]: 25: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,534 INFO L290 TraceCheckUtils]: 26: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,535 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8035#true} {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:28:34,535 INFO L290 TraceCheckUtils]: 28: Hoare triple {8073#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:28:34,536 INFO L290 TraceCheckUtils]: 29: Hoare triple {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:28:34,536 INFO L272 TraceCheckUtils]: 30: Hoare triple {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,536 INFO L290 TraceCheckUtils]: 31: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,536 INFO L290 TraceCheckUtils]: 32: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,536 INFO L290 TraceCheckUtils]: 33: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,538 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8035#true} {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:28:34,539 INFO L272 TraceCheckUtils]: 35: Hoare triple {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,539 INFO L290 TraceCheckUtils]: 36: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,539 INFO L290 TraceCheckUtils]: 37: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,539 INFO L290 TraceCheckUtils]: 38: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,540 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8035#true} {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:28:34,540 INFO L272 TraceCheckUtils]: 40: Hoare triple {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,541 INFO L290 TraceCheckUtils]: 41: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,541 INFO L290 TraceCheckUtils]: 42: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,541 INFO L290 TraceCheckUtils]: 43: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,543 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8035#true} {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:28:34,544 INFO L290 TraceCheckUtils]: 45: Hoare triple {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:34,544 INFO L290 TraceCheckUtils]: 46: Hoare triple {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:34,545 INFO L272 TraceCheckUtils]: 47: Hoare triple {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,545 INFO L290 TraceCheckUtils]: 48: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,545 INFO L290 TraceCheckUtils]: 49: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,545 INFO L290 TraceCheckUtils]: 50: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,545 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8035#true} {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #80#return; {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:34,545 INFO L272 TraceCheckUtils]: 52: Hoare triple {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,545 INFO L290 TraceCheckUtils]: 53: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,545 INFO L290 TraceCheckUtils]: 54: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,546 INFO L290 TraceCheckUtils]: 55: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,546 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8035#true} {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #82#return; {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:34,546 INFO L272 TraceCheckUtils]: 57: Hoare triple {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,546 INFO L290 TraceCheckUtils]: 58: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,546 INFO L290 TraceCheckUtils]: 59: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,546 INFO L290 TraceCheckUtils]: 60: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,547 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8035#true} {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #84#return; {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:34,547 INFO L290 TraceCheckUtils]: 62: Hoare triple {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:34,548 INFO L290 TraceCheckUtils]: 63: Hoare triple {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:34,548 INFO L272 TraceCheckUtils]: 64: Hoare triple {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,548 INFO L290 TraceCheckUtils]: 65: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,548 INFO L290 TraceCheckUtils]: 66: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,548 INFO L290 TraceCheckUtils]: 67: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,548 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8035#true} {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #86#return; {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:34,548 INFO L272 TraceCheckUtils]: 69: Hoare triple {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,548 INFO L290 TraceCheckUtils]: 70: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,548 INFO L290 TraceCheckUtils]: 71: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,549 INFO L290 TraceCheckUtils]: 72: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,549 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8035#true} {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #88#return; {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:28:34,550 INFO L290 TraceCheckUtils]: 74: Hoare triple {8177#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:28:34,550 INFO L290 TraceCheckUtils]: 75: Hoare triple {8125#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8268#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:28:34,550 INFO L290 TraceCheckUtils]: 76: Hoare triple {8268#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} assume !false; {8268#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:28:34,550 INFO L272 TraceCheckUtils]: 77: Hoare triple {8268#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,551 INFO L290 TraceCheckUtils]: 78: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,551 INFO L290 TraceCheckUtils]: 79: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,551 INFO L290 TraceCheckUtils]: 80: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,552 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8035#true} {8268#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #86#return; {8268#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:28:34,552 INFO L272 TraceCheckUtils]: 82: Hoare triple {8268#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:28:34,552 INFO L290 TraceCheckUtils]: 83: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:28:34,552 INFO L290 TraceCheckUtils]: 84: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:28:34,552 INFO L290 TraceCheckUtils]: 85: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:28:34,552 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8035#true} {8268#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #88#return; {8268#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:28:34,553 INFO L290 TraceCheckUtils]: 87: Hoare triple {8268#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~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); {8305#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= (+ (* (- 2) main_~B~0) main_~A~0) main_~r~0) (= (div (* main_~B~0 2) 2) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-28 13:28:34,554 INFO L290 TraceCheckUtils]: 88: Hoare triple {8305#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= (+ (* (- 2) main_~B~0) main_~A~0) main_~r~0) (= (div (* main_~B~0 2) 2) main_~d~0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8309#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-28 13:28:34,554 INFO L290 TraceCheckUtils]: 89: Hoare triple {8309#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} assume !false; {8309#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-28 13:28:34,555 INFO L272 TraceCheckUtils]: 90: Hoare triple {8309#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8316#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:28:34,555 INFO L290 TraceCheckUtils]: 91: Hoare triple {8316#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8320#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:28:34,556 INFO L290 TraceCheckUtils]: 92: Hoare triple {8320#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8036#false} is VALID [2022-04-28 13:28:34,556 INFO L290 TraceCheckUtils]: 93: Hoare triple {8036#false} assume !false; {8036#false} is VALID [2022-04-28 13:28:34,556 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 26 proven. 24 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:28:34,556 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:29:05,521 INFO L290 TraceCheckUtils]: 93: Hoare triple {8036#false} assume !false; {8036#false} is VALID [2022-04-28 13:29:05,521 INFO L290 TraceCheckUtils]: 92: Hoare triple {8320#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8036#false} is VALID [2022-04-28 13:29:05,522 INFO L290 TraceCheckUtils]: 91: Hoare triple {8316#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8320#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:29:05,522 INFO L272 TraceCheckUtils]: 90: Hoare triple {8336#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8316#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:29:05,522 INFO L290 TraceCheckUtils]: 89: Hoare triple {8336#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {8336#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:29:05,536 INFO L290 TraceCheckUtils]: 88: Hoare triple {8343#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8336#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:29:05,554 INFO L290 TraceCheckUtils]: 87: Hoare triple {8347#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (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); {8343#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:29:05,555 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8035#true} {8347#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #88#return; {8347#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:29:05,555 INFO L290 TraceCheckUtils]: 85: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:05,555 INFO L290 TraceCheckUtils]: 84: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:05,555 INFO L290 TraceCheckUtils]: 83: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:05,555 INFO L272 TraceCheckUtils]: 82: Hoare triple {8347#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:05,556 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8035#true} {8347#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #86#return; {8347#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:29:05,556 INFO L290 TraceCheckUtils]: 80: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:05,556 INFO L290 TraceCheckUtils]: 79: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:05,556 INFO L290 TraceCheckUtils]: 78: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:05,556 INFO L272 TraceCheckUtils]: 77: Hoare triple {8347#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:05,557 INFO L290 TraceCheckUtils]: 76: Hoare triple {8347#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {8347#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:29:05,581 INFO L290 TraceCheckUtils]: 75: Hoare triple {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~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; {8347#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:29:05,774 INFO L290 TraceCheckUtils]: 74: Hoare triple {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:29:05,776 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8035#true} {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #88#return; {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:29:05,776 INFO L290 TraceCheckUtils]: 72: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:05,776 INFO L290 TraceCheckUtils]: 71: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:05,776 INFO L290 TraceCheckUtils]: 70: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:05,776 INFO L272 TraceCheckUtils]: 69: Hoare triple {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:05,778 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8035#true} {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #86#return; {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:29:05,778 INFO L290 TraceCheckUtils]: 67: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:05,778 INFO L290 TraceCheckUtils]: 66: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:05,778 INFO L290 TraceCheckUtils]: 65: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:05,778 INFO L272 TraceCheckUtils]: 64: Hoare triple {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:05,783 INFO L290 TraceCheckUtils]: 63: Hoare triple {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !false; {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:29:05,786 INFO L290 TraceCheckUtils]: 62: Hoare triple {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !(~r~0 >= ~d~0); {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:29:05,787 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8035#true} {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #84#return; {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:29:05,787 INFO L290 TraceCheckUtils]: 60: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:05,787 INFO L290 TraceCheckUtils]: 59: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:05,787 INFO L290 TraceCheckUtils]: 58: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:05,787 INFO L272 TraceCheckUtils]: 57: Hoare triple {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:05,798 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8035#true} {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #82#return; {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:29:05,798 INFO L290 TraceCheckUtils]: 55: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:05,798 INFO L290 TraceCheckUtils]: 54: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:05,798 INFO L290 TraceCheckUtils]: 53: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:05,799 INFO L272 TraceCheckUtils]: 52: Hoare triple {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:05,800 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8035#true} {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #80#return; {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:29:05,800 INFO L290 TraceCheckUtils]: 50: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:05,800 INFO L290 TraceCheckUtils]: 49: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:05,800 INFO L290 TraceCheckUtils]: 48: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:05,800 INFO L272 TraceCheckUtils]: 47: Hoare triple {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:05,805 INFO L290 TraceCheckUtils]: 46: Hoare triple {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !false; {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:29:06,072 INFO L290 TraceCheckUtils]: 45: Hoare triple {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8388#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) 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 (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:29:06,073 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8035#true} {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #84#return; {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:29:06,073 INFO L290 TraceCheckUtils]: 43: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:06,073 INFO L290 TraceCheckUtils]: 42: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:06,073 INFO L290 TraceCheckUtils]: 41: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:06,074 INFO L272 TraceCheckUtils]: 40: Hoare triple {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:06,074 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8035#true} {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #82#return; {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:29:06,074 INFO L290 TraceCheckUtils]: 38: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:06,074 INFO L290 TraceCheckUtils]: 37: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:06,075 INFO L290 TraceCheckUtils]: 36: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:06,075 INFO L272 TraceCheckUtils]: 35: Hoare triple {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:06,075 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8035#true} {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #80#return; {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:29:06,075 INFO L290 TraceCheckUtils]: 33: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:06,076 INFO L290 TraceCheckUtils]: 32: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:06,076 INFO L290 TraceCheckUtils]: 31: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:06,076 INFO L272 TraceCheckUtils]: 30: Hoare triple {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:06,077 INFO L290 TraceCheckUtils]: 29: Hoare triple {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:29:06,105 INFO L290 TraceCheckUtils]: 28: Hoare triple {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8384#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 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)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 13:29:06,105 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8035#true} {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #84#return; {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-28 13:29:06,105 INFO L290 TraceCheckUtils]: 26: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:06,105 INFO L290 TraceCheckUtils]: 25: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:06,105 INFO L290 TraceCheckUtils]: 24: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:06,106 INFO L272 TraceCheckUtils]: 23: Hoare triple {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:06,106 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8035#true} {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #82#return; {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-28 13:29:06,106 INFO L290 TraceCheckUtils]: 21: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:06,106 INFO L290 TraceCheckUtils]: 20: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:06,106 INFO L290 TraceCheckUtils]: 19: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:06,107 INFO L272 TraceCheckUtils]: 18: Hoare triple {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:06,107 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {8035#true} {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #80#return; {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-28 13:29:06,107 INFO L290 TraceCheckUtils]: 16: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:06,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:06,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:06,108 INFO L272 TraceCheckUtils]: 13: Hoare triple {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:06,108 INFO L290 TraceCheckUtils]: 12: Hoare triple {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !false; {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-28 13:29:06,109 INFO L290 TraceCheckUtils]: 11: Hoare triple {8035#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8527#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-28 13:29:06,109 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8035#true} {8035#true} #78#return; {8035#true} is VALID [2022-04-28 13:29:06,109 INFO L290 TraceCheckUtils]: 9: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:06,109 INFO L290 TraceCheckUtils]: 8: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-28 13:29:06,109 INFO L290 TraceCheckUtils]: 7: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-28 13:29:06,109 INFO L272 TraceCheckUtils]: 6: Hoare triple {8035#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {8035#true} is VALID [2022-04-28 13:29:06,109 INFO L290 TraceCheckUtils]: 5: Hoare triple {8035#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {8035#true} is VALID [2022-04-28 13:29:06,109 INFO L272 TraceCheckUtils]: 4: Hoare triple {8035#true} call #t~ret5 := main(); {8035#true} is VALID [2022-04-28 13:29:06,109 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8035#true} {8035#true} #94#return; {8035#true} is VALID [2022-04-28 13:29:06,109 INFO L290 TraceCheckUtils]: 2: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-28 13:29:06,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {8035#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {8035#true} is VALID [2022-04-28 13:29:06,109 INFO L272 TraceCheckUtils]: 0: Hoare triple {8035#true} call ULTIMATE.init(); {8035#true} is VALID [2022-04-28 13:29:06,111 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 26 proven. 24 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 13:29:06,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:29:06,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2040470604] [2022-04-28 13:29:06,111 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:29:06,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [723087277] [2022-04-28 13:29:06,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [723087277] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:29:06,111 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:29:06,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 13:29:06,111 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:29:06,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [270966947] [2022-04-28 13:29:06,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [270966947] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:29:06,111 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:29:06,112 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 13:29:06,112 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1433800302] [2022-04-28 13:29:06,112 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:29:06,112 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) Word has length 94 [2022-04-28 13:29:06,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:29:06,112 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:29:06,161 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:06,162 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 13:29:06,162 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:29:06,162 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 13:29:06,162 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=179, Unknown=1, NotChecked=0, Total=240 [2022-04-28 13:29:06,162 INFO L87 Difference]: Start difference. First operand 130 states and 158 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:29:07,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:07,414 INFO L93 Difference]: Finished difference Result 164 states and 189 transitions. [2022-04-28 13:29:07,414 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 13:29:07,414 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) Word has length 94 [2022-04-28 13:29:07,415 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:29:07,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:29:07,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-28 13:29:07,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:29:07,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-28 13:29:07,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 105 transitions. [2022-04-28 13:29:07,517 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:07,521 INFO L225 Difference]: With dead ends: 164 [2022-04-28 13:29:07,521 INFO L226 Difference]: Without dead ends: 157 [2022-04-28 13:29:07,521 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 170 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 6.7s TimeCoverageRelationStatistics Valid=64, Invalid=207, Unknown=1, NotChecked=0, Total=272 [2022-04-28 13:29:07,522 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 11 mSDsluCounter, 213 mSDsCounter, 0 mSdLazyCounter, 457 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 266 SdHoareTripleChecker+Invalid, 476 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 457 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 13:29:07,522 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 266 Invalid, 476 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 457 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 13:29:07,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 157 states. [2022-04-28 13:29:07,633 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 157 to 154. [2022-04-28 13:29:07,633 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:29:07,633 INFO L82 GeneralOperation]: Start isEquivalent. First operand 157 states. Second operand has 154 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 100 states have internal predecessors, (106), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:29:07,634 INFO L74 IsIncluded]: Start isIncluded. First operand 157 states. Second operand has 154 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 100 states have internal predecessors, (106), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:29:07,634 INFO L87 Difference]: Start difference. First operand 157 states. Second operand has 154 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 100 states have internal predecessors, (106), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:29:07,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:07,638 INFO L93 Difference]: Finished difference Result 157 states and 179 transitions. [2022-04-28 13:29:07,638 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 179 transitions. [2022-04-28 13:29:07,638 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:29:07,638 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:29:07,639 INFO L74 IsIncluded]: Start isIncluded. First operand has 154 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 100 states have internal predecessors, (106), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 157 states. [2022-04-28 13:29:07,639 INFO L87 Difference]: Start difference. First operand has 154 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 100 states have internal predecessors, (106), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 157 states. [2022-04-28 13:29:07,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:07,642 INFO L93 Difference]: Finished difference Result 157 states and 179 transitions. [2022-04-28 13:29:07,643 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 179 transitions. [2022-04-28 13:29:07,643 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:29:07,643 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:29:07,643 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:29:07,643 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:29:07,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 154 states, 96 states have (on average 1.1041666666666667) internal successors, (106), 100 states have internal predecessors, (106), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:29:07,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 154 states to 154 states and 175 transitions. [2022-04-28 13:29:07,647 INFO L78 Accepts]: Start accepts. Automaton has 154 states and 175 transitions. Word has length 94 [2022-04-28 13:29:07,647 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:29:07,647 INFO L495 AbstractCegarLoop]: Abstraction has 154 states and 175 transitions. [2022-04-28 13:29:07,648 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:29:07,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 154 states and 175 transitions. [2022-04-28 13:29:07,875 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:07,876 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 175 transitions. [2022-04-28 13:29:07,876 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2022-04-28 13:29:07,877 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:29:07,877 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:29:07,893 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 13:29:08,083 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:29:08,083 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:29:08,084 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:29:08,084 INFO L85 PathProgramCache]: Analyzing trace with hash -321511332, now seen corresponding path program 11 times [2022-04-28 13:29:08,084 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:29:08,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [690432871] [2022-04-28 13:29:12,165 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:29:12,165 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:29:12,165 INFO L85 PathProgramCache]: Analyzing trace with hash -321511332, now seen corresponding path program 12 times [2022-04-28 13:29:12,165 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:29:12,165 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1935395516] [2022-04-28 13:29:12,166 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:29:12,166 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:29:12,177 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:29:12,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [956110916] [2022-04-28 13:29:12,177 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:29:12,177 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:29:12,177 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:29:12,181 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:29:12,182 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 13:29:12,238 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 13:29:12,238 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:29:12,238 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 13:29:12,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:29:12,255 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:29:12,749 INFO L272 TraceCheckUtils]: 0: Hoare triple {9566#true} call ULTIMATE.init(); {9566#true} is VALID [2022-04-28 13:29:12,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {9566#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {9566#true} is VALID [2022-04-28 13:29:12,749 INFO L290 TraceCheckUtils]: 2: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,749 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9566#true} {9566#true} #94#return; {9566#true} is VALID [2022-04-28 13:29:12,749 INFO L272 TraceCheckUtils]: 4: Hoare triple {9566#true} call #t~ret5 := main(); {9566#true} is VALID [2022-04-28 13:29:12,749 INFO L290 TraceCheckUtils]: 5: Hoare triple {9566#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {9566#true} is VALID [2022-04-28 13:29:12,749 INFO L272 TraceCheckUtils]: 6: Hoare triple {9566#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,749 INFO L290 TraceCheckUtils]: 7: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,749 INFO L290 TraceCheckUtils]: 8: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,749 INFO L290 TraceCheckUtils]: 9: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,749 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9566#true} {9566#true} #78#return; {9566#true} is VALID [2022-04-28 13:29:12,750 INFO L290 TraceCheckUtils]: 11: Hoare triple {9566#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,750 INFO L290 TraceCheckUtils]: 12: Hoare triple {9604#(= main_~B~0 1)} assume !false; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,750 INFO L272 TraceCheckUtils]: 13: Hoare triple {9604#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,750 INFO L290 TraceCheckUtils]: 14: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,750 INFO L290 TraceCheckUtils]: 15: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,750 INFO L290 TraceCheckUtils]: 16: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,750 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #80#return; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,751 INFO L272 TraceCheckUtils]: 18: Hoare triple {9604#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,751 INFO L290 TraceCheckUtils]: 19: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,751 INFO L290 TraceCheckUtils]: 21: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,751 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #82#return; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,751 INFO L272 TraceCheckUtils]: 23: Hoare triple {9604#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,751 INFO L290 TraceCheckUtils]: 24: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,751 INFO L290 TraceCheckUtils]: 25: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,751 INFO L290 TraceCheckUtils]: 26: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,752 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #84#return; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,752 INFO L290 TraceCheckUtils]: 28: Hoare triple {9604#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,752 INFO L290 TraceCheckUtils]: 29: Hoare triple {9604#(= main_~B~0 1)} assume !false; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,752 INFO L272 TraceCheckUtils]: 30: Hoare triple {9604#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,752 INFO L290 TraceCheckUtils]: 31: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,752 INFO L290 TraceCheckUtils]: 32: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,753 INFO L290 TraceCheckUtils]: 33: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,753 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #80#return; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,753 INFO L272 TraceCheckUtils]: 35: Hoare triple {9604#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,753 INFO L290 TraceCheckUtils]: 36: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,753 INFO L290 TraceCheckUtils]: 37: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,753 INFO L290 TraceCheckUtils]: 38: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,753 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #82#return; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,754 INFO L272 TraceCheckUtils]: 40: Hoare triple {9604#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,754 INFO L290 TraceCheckUtils]: 41: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,754 INFO L290 TraceCheckUtils]: 42: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,754 INFO L290 TraceCheckUtils]: 43: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,754 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #84#return; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,754 INFO L290 TraceCheckUtils]: 45: Hoare triple {9604#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,755 INFO L290 TraceCheckUtils]: 46: Hoare triple {9604#(= main_~B~0 1)} assume !false; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,755 INFO L272 TraceCheckUtils]: 47: Hoare triple {9604#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,755 INFO L290 TraceCheckUtils]: 48: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,755 INFO L290 TraceCheckUtils]: 49: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,755 INFO L290 TraceCheckUtils]: 50: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,756 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #80#return; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,756 INFO L272 TraceCheckUtils]: 52: Hoare triple {9604#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,756 INFO L290 TraceCheckUtils]: 53: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,756 INFO L290 TraceCheckUtils]: 54: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,756 INFO L290 TraceCheckUtils]: 55: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,757 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #82#return; {9604#(= main_~B~0 1)} is VALID [2022-04-28 13:29:12,757 INFO L272 TraceCheckUtils]: 57: Hoare triple {9604#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,757 INFO L290 TraceCheckUtils]: 58: Hoare triple {9566#true} ~cond := #in~cond; {9746#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:29:12,757 INFO L290 TraceCheckUtils]: 59: Hoare triple {9746#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9750#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:29:12,757 INFO L290 TraceCheckUtils]: 60: Hoare triple {9750#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9750#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:29:12,758 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9750#(not (= |__VERIFIER_assert_#in~cond| 0))} {9604#(= main_~B~0 1)} #84#return; {9757#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-28 13:29:12,759 INFO L290 TraceCheckUtils]: 62: Hoare triple {9757#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:29:12,759 INFO L290 TraceCheckUtils]: 63: Hoare triple {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !false; {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:29:12,759 INFO L272 TraceCheckUtils]: 64: Hoare triple {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,759 INFO L290 TraceCheckUtils]: 65: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,759 INFO L290 TraceCheckUtils]: 66: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,759 INFO L290 TraceCheckUtils]: 67: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,760 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9566#true} {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #80#return; {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:29:12,760 INFO L272 TraceCheckUtils]: 69: Hoare triple {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,760 INFO L290 TraceCheckUtils]: 70: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,760 INFO L290 TraceCheckUtils]: 71: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,760 INFO L290 TraceCheckUtils]: 72: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,761 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {9566#true} {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #82#return; {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:29:12,761 INFO L272 TraceCheckUtils]: 74: Hoare triple {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,761 INFO L290 TraceCheckUtils]: 75: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,761 INFO L290 TraceCheckUtils]: 76: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,761 INFO L290 TraceCheckUtils]: 77: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,761 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {9566#true} {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #84#return; {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:29:12,762 INFO L290 TraceCheckUtils]: 79: Hoare triple {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:29:12,762 INFO L290 TraceCheckUtils]: 80: Hoare triple {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !false; {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:29:12,762 INFO L272 TraceCheckUtils]: 81: Hoare triple {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,762 INFO L290 TraceCheckUtils]: 82: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,762 INFO L290 TraceCheckUtils]: 83: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,762 INFO L290 TraceCheckUtils]: 84: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,763 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9566#true} {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #86#return; {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:29:12,763 INFO L272 TraceCheckUtils]: 86: Hoare triple {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,763 INFO L290 TraceCheckUtils]: 87: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,763 INFO L290 TraceCheckUtils]: 88: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,763 INFO L290 TraceCheckUtils]: 89: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,763 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {9566#true} {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #88#return; {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:29:12,765 INFO L290 TraceCheckUtils]: 91: Hoare triple {9761#(and (= (* 2 (* main_~B~0 (div main_~p~0 2))) main_~d~0) (= main_~B~0 1) (= (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); {9757#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-28 13:29:12,765 INFO L290 TraceCheckUtils]: 92: Hoare triple {9757#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9757#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-28 13:29:12,765 INFO L290 TraceCheckUtils]: 93: Hoare triple {9757#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} assume !false; {9757#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-28 13:29:12,765 INFO L272 TraceCheckUtils]: 94: Hoare triple {9757#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:12,765 INFO L290 TraceCheckUtils]: 95: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:12,765 INFO L290 TraceCheckUtils]: 96: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:12,765 INFO L290 TraceCheckUtils]: 97: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:12,766 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {9566#true} {9757#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} #86#return; {9757#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-28 13:29:12,766 INFO L272 TraceCheckUtils]: 99: Hoare triple {9757#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9873#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:29:12,767 INFO L290 TraceCheckUtils]: 100: Hoare triple {9873#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9877#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:29:12,767 INFO L290 TraceCheckUtils]: 101: Hoare triple {9877#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9567#false} is VALID [2022-04-28 13:29:12,767 INFO L290 TraceCheckUtils]: 102: Hoare triple {9567#false} assume !false; {9567#false} is VALID [2022-04-28 13:29:12,767 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 70 proven. 22 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2022-04-28 13:29:12,768 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:29:21,412 INFO L290 TraceCheckUtils]: 102: Hoare triple {9567#false} assume !false; {9567#false} is VALID [2022-04-28 13:29:21,412 INFO L290 TraceCheckUtils]: 101: Hoare triple {9877#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9567#false} is VALID [2022-04-28 13:29:21,412 INFO L290 TraceCheckUtils]: 100: Hoare triple {9873#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9877#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:29:21,413 INFO L272 TraceCheckUtils]: 99: Hoare triple {9893#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9873#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:29:21,413 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {9566#true} {9893#(= (* main_~B~0 main_~p~0) main_~d~0)} #86#return; {9893#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:29:21,414 INFO L290 TraceCheckUtils]: 97: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,414 INFO L290 TraceCheckUtils]: 96: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,414 INFO L290 TraceCheckUtils]: 95: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,414 INFO L272 TraceCheckUtils]: 94: Hoare triple {9893#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,414 INFO L290 TraceCheckUtils]: 93: Hoare triple {9893#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {9893#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:29:21,414 INFO L290 TraceCheckUtils]: 92: Hoare triple {9893#(= (* main_~B~0 main_~p~0) main_~d~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9893#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:29:21,428 INFO L290 TraceCheckUtils]: 91: Hoare triple {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9893#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:29:21,428 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {9566#true} {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #88#return; {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:29:21,428 INFO L290 TraceCheckUtils]: 89: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,428 INFO L290 TraceCheckUtils]: 88: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,428 INFO L290 TraceCheckUtils]: 87: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,429 INFO L272 TraceCheckUtils]: 86: Hoare triple {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,429 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9566#true} {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #86#return; {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:29:21,429 INFO L290 TraceCheckUtils]: 84: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,429 INFO L290 TraceCheckUtils]: 83: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,429 INFO L290 TraceCheckUtils]: 82: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,429 INFO L272 TraceCheckUtils]: 81: Hoare triple {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,430 INFO L290 TraceCheckUtils]: 80: Hoare triple {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:29:21,431 INFO L290 TraceCheckUtils]: 79: Hoare triple {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !(~r~0 >= ~d~0); {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:29:21,432 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {9566#true} {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #84#return; {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:29:21,432 INFO L290 TraceCheckUtils]: 77: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,432 INFO L290 TraceCheckUtils]: 76: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,432 INFO L290 TraceCheckUtils]: 75: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,432 INFO L272 TraceCheckUtils]: 74: Hoare triple {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,438 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {9566#true} {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #82#return; {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:29:21,438 INFO L290 TraceCheckUtils]: 72: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,438 INFO L290 TraceCheckUtils]: 71: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,438 INFO L290 TraceCheckUtils]: 70: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,438 INFO L272 TraceCheckUtils]: 69: Hoare triple {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,438 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9566#true} {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #80#return; {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:29:21,439 INFO L290 TraceCheckUtils]: 67: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,439 INFO L290 TraceCheckUtils]: 66: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,439 INFO L290 TraceCheckUtils]: 65: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,439 INFO L272 TraceCheckUtils]: 64: Hoare triple {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,440 INFO L290 TraceCheckUtils]: 63: Hoare triple {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:29:21,446 INFO L290 TraceCheckUtils]: 62: Hoare triple {9893#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9918#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:29:21,446 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9750#(not (= |__VERIFIER_assert_#in~cond| 0))} {9566#true} #84#return; {9893#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-28 13:29:21,446 INFO L290 TraceCheckUtils]: 60: Hoare triple {9750#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9750#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:29:21,447 INFO L290 TraceCheckUtils]: 59: Hoare triple {10018#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9750#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:29:21,447 INFO L290 TraceCheckUtils]: 58: Hoare triple {9566#true} ~cond := #in~cond; {10018#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:29:21,447 INFO L272 TraceCheckUtils]: 57: Hoare triple {9566#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,447 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9566#true} {9566#true} #82#return; {9566#true} is VALID [2022-04-28 13:29:21,447 INFO L290 TraceCheckUtils]: 55: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,447 INFO L290 TraceCheckUtils]: 54: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,447 INFO L290 TraceCheckUtils]: 53: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,447 INFO L272 TraceCheckUtils]: 52: Hoare triple {9566#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,447 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9566#true} {9566#true} #80#return; {9566#true} is VALID [2022-04-28 13:29:21,448 INFO L290 TraceCheckUtils]: 50: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,448 INFO L290 TraceCheckUtils]: 49: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,448 INFO L290 TraceCheckUtils]: 48: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,448 INFO L272 TraceCheckUtils]: 47: Hoare triple {9566#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,448 INFO L290 TraceCheckUtils]: 46: Hoare triple {9566#true} assume !false; {9566#true} is VALID [2022-04-28 13:29:21,448 INFO L290 TraceCheckUtils]: 45: Hoare triple {9566#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9566#true} is VALID [2022-04-28 13:29:21,448 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9566#true} {9566#true} #84#return; {9566#true} is VALID [2022-04-28 13:29:21,448 INFO L290 TraceCheckUtils]: 43: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,448 INFO L290 TraceCheckUtils]: 42: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,448 INFO L290 TraceCheckUtils]: 41: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,448 INFO L272 TraceCheckUtils]: 40: Hoare triple {9566#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,449 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9566#true} {9566#true} #82#return; {9566#true} is VALID [2022-04-28 13:29:21,449 INFO L290 TraceCheckUtils]: 38: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,449 INFO L290 TraceCheckUtils]: 37: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,449 INFO L290 TraceCheckUtils]: 36: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,449 INFO L272 TraceCheckUtils]: 35: Hoare triple {9566#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,449 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9566#true} {9566#true} #80#return; {9566#true} is VALID [2022-04-28 13:29:21,449 INFO L290 TraceCheckUtils]: 33: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,449 INFO L290 TraceCheckUtils]: 32: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,449 INFO L290 TraceCheckUtils]: 31: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,449 INFO L272 TraceCheckUtils]: 30: Hoare triple {9566#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,449 INFO L290 TraceCheckUtils]: 29: Hoare triple {9566#true} assume !false; {9566#true} is VALID [2022-04-28 13:29:21,449 INFO L290 TraceCheckUtils]: 28: Hoare triple {9566#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9566#true} is VALID [2022-04-28 13:29:21,450 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9566#true} {9566#true} #84#return; {9566#true} is VALID [2022-04-28 13:29:21,450 INFO L290 TraceCheckUtils]: 26: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,450 INFO L290 TraceCheckUtils]: 25: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,450 INFO L290 TraceCheckUtils]: 24: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,450 INFO L272 TraceCheckUtils]: 23: Hoare triple {9566#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,450 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9566#true} {9566#true} #82#return; {9566#true} is VALID [2022-04-28 13:29:21,450 INFO L290 TraceCheckUtils]: 21: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,450 INFO L290 TraceCheckUtils]: 20: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,450 INFO L290 TraceCheckUtils]: 19: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,450 INFO L272 TraceCheckUtils]: 18: Hoare triple {9566#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,450 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9566#true} {9566#true} #80#return; {9566#true} is VALID [2022-04-28 13:29:21,450 INFO L290 TraceCheckUtils]: 16: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,451 INFO L290 TraceCheckUtils]: 15: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,451 INFO L290 TraceCheckUtils]: 14: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,451 INFO L272 TraceCheckUtils]: 13: Hoare triple {9566#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,451 INFO L290 TraceCheckUtils]: 12: Hoare triple {9566#true} assume !false; {9566#true} is VALID [2022-04-28 13:29:21,451 INFO L290 TraceCheckUtils]: 11: Hoare triple {9566#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {9566#true} is VALID [2022-04-28 13:29:21,451 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9566#true} {9566#true} #78#return; {9566#true} is VALID [2022-04-28 13:29:21,451 INFO L290 TraceCheckUtils]: 9: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,451 INFO L290 TraceCheckUtils]: 8: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-28 13:29:21,451 INFO L290 TraceCheckUtils]: 7: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-28 13:29:21,451 INFO L272 TraceCheckUtils]: 6: Hoare triple {9566#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {9566#true} is VALID [2022-04-28 13:29:21,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {9566#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {9566#true} is VALID [2022-04-28 13:29:21,451 INFO L272 TraceCheckUtils]: 4: Hoare triple {9566#true} call #t~ret5 := main(); {9566#true} is VALID [2022-04-28 13:29:21,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9566#true} {9566#true} #94#return; {9566#true} is VALID [2022-04-28 13:29:21,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-28 13:29:21,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {9566#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {9566#true} is VALID [2022-04-28 13:29:21,452 INFO L272 TraceCheckUtils]: 0: Hoare triple {9566#true} call ULTIMATE.init(); {9566#true} is VALID [2022-04-28 13:29:21,452 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 69 proven. 23 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2022-04-28 13:29:21,452 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:29:21,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1935395516] [2022-04-28 13:29:21,453 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:29:21,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [956110916] [2022-04-28 13:29:21,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [956110916] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:29:21,453 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:29:21,453 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-28 13:29:21,453 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:29:21,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [690432871] [2022-04-28 13:29:21,453 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [690432871] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:29:21,453 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:29:21,453 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 13:29:21,454 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [621596066] [2022-04-28 13:29:21,454 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:29:21,454 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 103 [2022-04-28 13:29:21,454 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:29:21,455 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 13:29:21,495 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:21,495 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 13:29:21,496 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:29:21,496 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 13:29:21,496 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-04-28 13:29:21,496 INFO L87 Difference]: Start difference. First operand 154 states and 175 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 13:29:21,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:21,936 INFO L93 Difference]: Finished difference Result 164 states and 183 transitions. [2022-04-28 13:29:21,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 13:29:21,937 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 103 [2022-04-28 13:29:21,937 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:29:21,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 13:29:21,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-28 13:29:21,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 13:29:21,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-28 13:29:21,939 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 57 transitions. [2022-04-28 13:29:21,999 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:22,002 INFO L225 Difference]: With dead ends: 164 [2022-04-28 13:29:22,002 INFO L226 Difference]: Without dead ends: 162 [2022-04-28 13:29:22,002 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 207 GetRequests, 193 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-28 13:29:22,003 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 20 mSDsluCounter, 73 mSDsCounter, 0 mSdLazyCounter, 127 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 144 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 127 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:29:22,003 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 102 Invalid, 144 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 127 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:29:22,003 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-28 13:29:22,103 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 162. [2022-04-28 13:29:22,103 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:29:22,104 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand has 162 states, 102 states have (on average 1.0980392156862746) internal successors, (112), 106 states have internal predecessors, (112), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:29:22,104 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand has 162 states, 102 states have (on average 1.0980392156862746) internal successors, (112), 106 states have internal predecessors, (112), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:29:22,105 INFO L87 Difference]: Start difference. First operand 162 states. Second operand has 162 states, 102 states have (on average 1.0980392156862746) internal successors, (112), 106 states have internal predecessors, (112), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:29:22,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:22,107 INFO L93 Difference]: Finished difference Result 162 states and 181 transitions. [2022-04-28 13:29:22,108 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 181 transitions. [2022-04-28 13:29:22,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:29:22,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:29:22,108 INFO L74 IsIncluded]: Start isIncluded. First operand has 162 states, 102 states have (on average 1.0980392156862746) internal successors, (112), 106 states have internal predecessors, (112), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 162 states. [2022-04-28 13:29:22,109 INFO L87 Difference]: Start difference. First operand has 162 states, 102 states have (on average 1.0980392156862746) internal successors, (112), 106 states have internal predecessors, (112), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 162 states. [2022-04-28 13:29:22,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:22,112 INFO L93 Difference]: Finished difference Result 162 states and 181 transitions. [2022-04-28 13:29:22,112 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 181 transitions. [2022-04-28 13:29:22,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:29:22,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:29:22,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:29:22,113 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:29:22,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 162 states, 102 states have (on average 1.0980392156862746) internal successors, (112), 106 states have internal predecessors, (112), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:29:22,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 162 states to 162 states and 181 transitions. [2022-04-28 13:29:22,117 INFO L78 Accepts]: Start accepts. Automaton has 162 states and 181 transitions. Word has length 103 [2022-04-28 13:29:22,117 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:29:22,117 INFO L495 AbstractCegarLoop]: Abstraction has 162 states and 181 transitions. [2022-04-28 13:29:22,117 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 13:29:22,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 162 states and 181 transitions. [2022-04-28 13:29:22,330 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 181 edges. 181 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:22,330 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 181 transitions. [2022-04-28 13:29:22,331 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 13:29:22,331 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:29:22,331 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 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] [2022-04-28 13:29:22,355 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 13:29:22,546 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 13:29:22,546 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:29:22,546 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:29:22,546 INFO L85 PathProgramCache]: Analyzing trace with hash 1306280540, now seen corresponding path program 3 times [2022-04-28 13:29:22,546 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:29:22,547 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1291392359] [2022-04-28 13:29:25,371 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:29:25,371 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:29:25,371 INFO L85 PathProgramCache]: Analyzing trace with hash 1306280540, now seen corresponding path program 4 times [2022-04-28 13:29:25,371 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:29:25,371 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1609226390] [2022-04-28 13:29:25,371 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:29:25,371 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:29:25,381 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:29:25,381 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2031259085] [2022-04-28 13:29:25,381 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:29:25,381 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:29:25,382 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:29:25,392 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:29:25,401 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 13:29:25,443 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:29:25,443 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:29:25,444 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 13:29:25,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:29:25,460 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:29:26,010 INFO L272 TraceCheckUtils]: 0: Hoare triple {11175#true} call ULTIMATE.init(); {11175#true} is VALID [2022-04-28 13:29:26,010 INFO L290 TraceCheckUtils]: 1: Hoare triple {11175#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {11175#true} is VALID [2022-04-28 13:29:26,010 INFO L290 TraceCheckUtils]: 2: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,010 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11175#true} {11175#true} #94#return; {11175#true} is VALID [2022-04-28 13:29:26,010 INFO L272 TraceCheckUtils]: 4: Hoare triple {11175#true} call #t~ret5 := main(); {11175#true} is VALID [2022-04-28 13:29:26,010 INFO L290 TraceCheckUtils]: 5: Hoare triple {11175#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {11175#true} is VALID [2022-04-28 13:29:26,010 INFO L272 TraceCheckUtils]: 6: Hoare triple {11175#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,010 INFO L290 TraceCheckUtils]: 8: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,011 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11175#true} {11175#true} #78#return; {11175#true} is VALID [2022-04-28 13:29:26,011 INFO L290 TraceCheckUtils]: 11: Hoare triple {11175#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:29:26,011 INFO L290 TraceCheckUtils]: 12: Hoare triple {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:29:26,011 INFO L272 TraceCheckUtils]: 13: Hoare triple {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,011 INFO L290 TraceCheckUtils]: 14: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,011 INFO L290 TraceCheckUtils]: 15: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,011 INFO L290 TraceCheckUtils]: 16: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,012 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {11175#true} {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #80#return; {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:29:26,012 INFO L272 TraceCheckUtils]: 18: Hoare triple {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,012 INFO L290 TraceCheckUtils]: 19: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,012 INFO L290 TraceCheckUtils]: 20: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,012 INFO L290 TraceCheckUtils]: 21: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,013 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11175#true} {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:29:26,013 INFO L272 TraceCheckUtils]: 23: Hoare triple {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,013 INFO L290 TraceCheckUtils]: 24: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,013 INFO L290 TraceCheckUtils]: 25: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,013 INFO L290 TraceCheckUtils]: 26: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,013 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {11175#true} {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:29:26,014 INFO L290 TraceCheckUtils]: 28: Hoare triple {11213#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:29:26,014 INFO L290 TraceCheckUtils]: 29: Hoare triple {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} assume !false; {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:29:26,014 INFO L272 TraceCheckUtils]: 30: Hoare triple {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,014 INFO L290 TraceCheckUtils]: 31: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,014 INFO L290 TraceCheckUtils]: 32: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,014 INFO L290 TraceCheckUtils]: 33: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,015 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11175#true} {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} #80#return; {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:29:26,015 INFO L272 TraceCheckUtils]: 35: Hoare triple {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,015 INFO L290 TraceCheckUtils]: 36: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,015 INFO L290 TraceCheckUtils]: 37: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,015 INFO L290 TraceCheckUtils]: 38: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,015 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11175#true} {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} #82#return; {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:29:26,016 INFO L272 TraceCheckUtils]: 40: Hoare triple {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,016 INFO L290 TraceCheckUtils]: 41: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,016 INFO L290 TraceCheckUtils]: 42: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,016 INFO L290 TraceCheckUtils]: 43: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,016 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {11175#true} {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} #84#return; {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:29:26,017 INFO L290 TraceCheckUtils]: 45: Hoare triple {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:29:26,017 INFO L290 TraceCheckUtils]: 46: Hoare triple {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:29:26,017 INFO L272 TraceCheckUtils]: 47: Hoare triple {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,017 INFO L290 TraceCheckUtils]: 48: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,017 INFO L290 TraceCheckUtils]: 49: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,017 INFO L290 TraceCheckUtils]: 50: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,018 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11175#true} {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} #80#return; {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:29:26,018 INFO L272 TraceCheckUtils]: 52: Hoare triple {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,018 INFO L290 TraceCheckUtils]: 53: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,018 INFO L290 TraceCheckUtils]: 54: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,018 INFO L290 TraceCheckUtils]: 55: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,018 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11175#true} {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:29:26,018 INFO L272 TraceCheckUtils]: 57: Hoare triple {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,018 INFO L290 TraceCheckUtils]: 58: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,019 INFO L290 TraceCheckUtils]: 59: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,019 INFO L290 TraceCheckUtils]: 60: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,023 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11175#true} {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:29:26,024 INFO L290 TraceCheckUtils]: 62: Hoare triple {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:29:26,024 INFO L290 TraceCheckUtils]: 63: Hoare triple {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:29:26,025 INFO L272 TraceCheckUtils]: 64: Hoare triple {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,025 INFO L290 TraceCheckUtils]: 65: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,025 INFO L290 TraceCheckUtils]: 66: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,025 INFO L290 TraceCheckUtils]: 67: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,026 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {11175#true} {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:29:26,026 INFO L272 TraceCheckUtils]: 69: Hoare triple {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,026 INFO L290 TraceCheckUtils]: 70: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,026 INFO L290 TraceCheckUtils]: 71: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,026 INFO L290 TraceCheckUtils]: 72: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,027 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {11175#true} {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} #88#return; {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:29:26,027 INFO L290 TraceCheckUtils]: 74: Hoare triple {11317#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= 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); {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:29:26,028 INFO L290 TraceCheckUtils]: 75: Hoare triple {11265#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11408#(and (= main_~q~0 main_~p~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:29:26,028 INFO L290 TraceCheckUtils]: 76: Hoare triple {11408#(and (= main_~q~0 main_~p~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} assume !false; {11408#(and (= main_~q~0 main_~p~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:29:26,029 INFO L272 TraceCheckUtils]: 77: Hoare triple {11408#(and (= main_~q~0 main_~p~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,029 INFO L290 TraceCheckUtils]: 78: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,029 INFO L290 TraceCheckUtils]: 79: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,029 INFO L290 TraceCheckUtils]: 80: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,030 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {11175#true} {11408#(and (= main_~q~0 main_~p~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #86#return; {11408#(and (= main_~q~0 main_~p~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:29:26,030 INFO L272 TraceCheckUtils]: 82: Hoare triple {11408#(and (= main_~q~0 main_~p~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,030 INFO L290 TraceCheckUtils]: 83: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,030 INFO L290 TraceCheckUtils]: 84: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,030 INFO L290 TraceCheckUtils]: 85: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,030 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {11175#true} {11408#(and (= main_~q~0 main_~p~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #88#return; {11408#(and (= main_~q~0 main_~p~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:29:26,031 INFO L290 TraceCheckUtils]: 87: Hoare triple {11408#(and (= main_~q~0 main_~p~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~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); {11445#(and (= main_~q~0 2) (= (div (+ main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ main_~A~0 (* (- 1) main_~r~0)) 2) (= main_~p~0 1))} is VALID [2022-04-28 13:29:26,032 INFO L290 TraceCheckUtils]: 88: Hoare triple {11445#(and (= main_~q~0 2) (= (div (+ main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ main_~A~0 (* (- 1) main_~r~0)) 2) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11449#(and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) (= main_~p~0 1))} is VALID [2022-04-28 13:29:26,032 INFO L290 TraceCheckUtils]: 89: Hoare triple {11449#(and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) (= main_~p~0 1))} assume !false; {11449#(and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) (= main_~p~0 1))} is VALID [2022-04-28 13:29:26,032 INFO L272 TraceCheckUtils]: 90: Hoare triple {11449#(and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,032 INFO L290 TraceCheckUtils]: 91: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,032 INFO L290 TraceCheckUtils]: 92: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,033 INFO L290 TraceCheckUtils]: 93: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,033 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {11175#true} {11449#(and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) (= main_~p~0 1))} #86#return; {11449#(and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) (= main_~p~0 1))} is VALID [2022-04-28 13:29:26,033 INFO L272 TraceCheckUtils]: 95: Hoare triple {11449#(and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:26,033 INFO L290 TraceCheckUtils]: 96: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:26,033 INFO L290 TraceCheckUtils]: 97: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:26,033 INFO L290 TraceCheckUtils]: 98: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:26,034 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {11175#true} {11449#(and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) (= main_~p~0 1))} #88#return; {11449#(and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) (= main_~p~0 1))} is VALID [2022-04-28 13:29:26,034 INFO L290 TraceCheckUtils]: 100: Hoare triple {11449#(and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) (= main_~p~0 1))} assume !(1 != ~p~0); {11486#(and (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ (- 2) main_~q~0) 1) (= (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2))} is VALID [2022-04-28 13:29:26,035 INFO L272 TraceCheckUtils]: 101: Hoare triple {11486#(and (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= (+ (- 2) main_~q~0) 1) (= (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11490#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:29:26,035 INFO L290 TraceCheckUtils]: 102: Hoare triple {11490#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11494#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:29:26,035 INFO L290 TraceCheckUtils]: 103: Hoare triple {11494#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11176#false} is VALID [2022-04-28 13:29:26,035 INFO L290 TraceCheckUtils]: 104: Hoare triple {11176#false} assume !false; {11176#false} is VALID [2022-04-28 13:29:26,036 INFO L134 CoverageAnalysis]: Checked inductivity of 478 backedges. 30 proven. 28 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-28 13:29:26,036 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:29:42,053 INFO L290 TraceCheckUtils]: 104: Hoare triple {11176#false} assume !false; {11176#false} is VALID [2022-04-28 13:29:42,054 INFO L290 TraceCheckUtils]: 103: Hoare triple {11494#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11176#false} is VALID [2022-04-28 13:29:42,054 INFO L290 TraceCheckUtils]: 102: Hoare triple {11490#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11494#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:29:42,055 INFO L272 TraceCheckUtils]: 101: Hoare triple {11510#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11490#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:29:42,055 INFO L290 TraceCheckUtils]: 100: Hoare triple {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {11510#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:29:42,056 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {11175#true} {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} #88#return; {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:29:42,056 INFO L290 TraceCheckUtils]: 98: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,056 INFO L290 TraceCheckUtils]: 97: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,056 INFO L290 TraceCheckUtils]: 96: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,056 INFO L272 TraceCheckUtils]: 95: Hoare triple {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,056 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {11175#true} {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} #86#return; {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:29:42,056 INFO L290 TraceCheckUtils]: 93: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,056 INFO L290 TraceCheckUtils]: 92: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,057 INFO L290 TraceCheckUtils]: 91: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,057 INFO L272 TraceCheckUtils]: 90: Hoare triple {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,057 INFO L290 TraceCheckUtils]: 89: Hoare triple {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !false; {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:29:42,058 INFO L290 TraceCheckUtils]: 88: Hoare triple {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:29:42,062 INFO L290 TraceCheckUtils]: 87: Hoare triple {11554#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0) main_~A~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); {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:29:42,063 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {11175#true} {11554#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0) main_~A~0))))} #88#return; {11554#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0) main_~A~0))))} is VALID [2022-04-28 13:29:42,063 INFO L290 TraceCheckUtils]: 85: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,063 INFO L290 TraceCheckUtils]: 84: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,063 INFO L290 TraceCheckUtils]: 83: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,063 INFO L272 TraceCheckUtils]: 82: Hoare triple {11554#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0) main_~A~0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,063 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {11175#true} {11554#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0) main_~A~0))))} #86#return; {11554#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0) main_~A~0))))} is VALID [2022-04-28 13:29:42,063 INFO L290 TraceCheckUtils]: 80: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,063 INFO L290 TraceCheckUtils]: 79: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,063 INFO L290 TraceCheckUtils]: 78: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,064 INFO L272 TraceCheckUtils]: 77: Hoare triple {11554#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0) main_~A~0))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,064 INFO L290 TraceCheckUtils]: 76: Hoare triple {11554#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0) main_~A~0))))} assume !false; {11554#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0) main_~A~0))))} is VALID [2022-04-28 13:29:42,090 INFO L290 TraceCheckUtils]: 75: Hoare triple {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11554#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0) main_~A~0))))} is VALID [2022-04-28 13:29:42,118 INFO L290 TraceCheckUtils]: 74: Hoare triple {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (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); {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} is VALID [2022-04-28 13:29:42,118 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {11175#true} {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} #88#return; {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} is VALID [2022-04-28 13:29:42,119 INFO L290 TraceCheckUtils]: 72: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,119 INFO L290 TraceCheckUtils]: 71: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,119 INFO L290 TraceCheckUtils]: 70: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,119 INFO L272 TraceCheckUtils]: 69: Hoare triple {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,119 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {11175#true} {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} #86#return; {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} is VALID [2022-04-28 13:29:42,119 INFO L290 TraceCheckUtils]: 67: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,119 INFO L290 TraceCheckUtils]: 66: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,119 INFO L290 TraceCheckUtils]: 65: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,120 INFO L272 TraceCheckUtils]: 64: Hoare triple {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,121 INFO L290 TraceCheckUtils]: 63: Hoare triple {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} assume !false; {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} is VALID [2022-04-28 13:29:42,122 INFO L290 TraceCheckUtils]: 62: Hoare triple {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} assume !(~r~0 >= ~d~0); {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} is VALID [2022-04-28 13:29:42,122 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11175#true} {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} #84#return; {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} is VALID [2022-04-28 13:29:42,122 INFO L290 TraceCheckUtils]: 60: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,122 INFO L290 TraceCheckUtils]: 59: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,123 INFO L290 TraceCheckUtils]: 58: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,123 INFO L272 TraceCheckUtils]: 57: Hoare triple {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,123 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11175#true} {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} #82#return; {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} is VALID [2022-04-28 13:29:42,123 INFO L290 TraceCheckUtils]: 55: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,123 INFO L290 TraceCheckUtils]: 54: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,123 INFO L290 TraceCheckUtils]: 53: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,123 INFO L272 TraceCheckUtils]: 52: Hoare triple {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,124 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11175#true} {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} #80#return; {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} is VALID [2022-04-28 13:29:42,124 INFO L290 TraceCheckUtils]: 50: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,124 INFO L290 TraceCheckUtils]: 49: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,124 INFO L290 TraceCheckUtils]: 48: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,124 INFO L272 TraceCheckUtils]: 47: Hoare triple {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,125 INFO L290 TraceCheckUtils]: 46: Hoare triple {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} assume !false; {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} is VALID [2022-04-28 13:29:42,145 INFO L290 TraceCheckUtils]: 45: Hoare triple {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11595#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= main_~A~0 (+ main_~r~0 (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div main_~p~0 2)))) main_~A~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (< (div main_~p~0 2) 2) (<= 4 (div main_~p~0 2)))} is VALID [2022-04-28 13:29:42,145 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {11175#true} {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} #84#return; {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} is VALID [2022-04-28 13:29:42,145 INFO L290 TraceCheckUtils]: 43: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,145 INFO L290 TraceCheckUtils]: 42: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,145 INFO L290 TraceCheckUtils]: 41: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,145 INFO L272 TraceCheckUtils]: 40: Hoare triple {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,146 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11175#true} {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} #82#return; {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} is VALID [2022-04-28 13:29:42,146 INFO L290 TraceCheckUtils]: 38: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,146 INFO L290 TraceCheckUtils]: 37: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,146 INFO L290 TraceCheckUtils]: 36: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,146 INFO L272 TraceCheckUtils]: 35: Hoare triple {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,146 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11175#true} {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} #80#return; {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} is VALID [2022-04-28 13:29:42,147 INFO L290 TraceCheckUtils]: 33: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,147 INFO L290 TraceCheckUtils]: 32: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,147 INFO L290 TraceCheckUtils]: 31: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,147 INFO L272 TraceCheckUtils]: 30: Hoare triple {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,147 INFO L290 TraceCheckUtils]: 29: Hoare triple {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} assume !false; {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} is VALID [2022-04-28 13:29:42,173 INFO L290 TraceCheckUtils]: 28: Hoare triple {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11591#(or (not (= (div main_~p~0 2) 1)) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (+ (div main_~d~0 2) 1)) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))} is VALID [2022-04-28 13:29:42,174 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {11175#true} {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} #84#return; {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:29:42,174 INFO L290 TraceCheckUtils]: 26: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,174 INFO L290 TraceCheckUtils]: 25: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,174 INFO L290 TraceCheckUtils]: 24: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,174 INFO L272 TraceCheckUtils]: 23: Hoare triple {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,175 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11175#true} {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} #82#return; {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:29:42,175 INFO L290 TraceCheckUtils]: 21: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,175 INFO L290 TraceCheckUtils]: 20: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,175 INFO L290 TraceCheckUtils]: 19: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,175 INFO L272 TraceCheckUtils]: 18: Hoare triple {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,175 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {11175#true} {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} #80#return; {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:29:42,175 INFO L290 TraceCheckUtils]: 16: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,176 INFO L290 TraceCheckUtils]: 15: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,176 INFO L290 TraceCheckUtils]: 14: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,176 INFO L272 TraceCheckUtils]: 13: Hoare triple {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,176 INFO L290 TraceCheckUtils]: 12: Hoare triple {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !false; {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:29:42,176 INFO L290 TraceCheckUtils]: 11: Hoare triple {11175#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {11514#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-28 13:29:42,176 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11175#true} {11175#true} #78#return; {11175#true} is VALID [2022-04-28 13:29:42,176 INFO L290 TraceCheckUtils]: 9: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,177 INFO L290 TraceCheckUtils]: 8: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-28 13:29:42,177 INFO L290 TraceCheckUtils]: 7: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-28 13:29:42,177 INFO L272 TraceCheckUtils]: 6: Hoare triple {11175#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {11175#true} is VALID [2022-04-28 13:29:42,177 INFO L290 TraceCheckUtils]: 5: Hoare triple {11175#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {11175#true} is VALID [2022-04-28 13:29:42,177 INFO L272 TraceCheckUtils]: 4: Hoare triple {11175#true} call #t~ret5 := main(); {11175#true} is VALID [2022-04-28 13:29:42,177 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11175#true} {11175#true} #94#return; {11175#true} is VALID [2022-04-28 13:29:42,177 INFO L290 TraceCheckUtils]: 2: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-28 13:29:42,177 INFO L290 TraceCheckUtils]: 1: Hoare triple {11175#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {11175#true} is VALID [2022-04-28 13:29:42,177 INFO L272 TraceCheckUtils]: 0: Hoare triple {11175#true} call ULTIMATE.init(); {11175#true} is VALID [2022-04-28 13:29:42,182 INFO L134 CoverageAnalysis]: Checked inductivity of 478 backedges. 30 proven. 28 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-28 13:29:42,182 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:29:42,182 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1609226390] [2022-04-28 13:29:42,182 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:29:42,182 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2031259085] [2022-04-28 13:29:42,182 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2031259085] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:29:42,182 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:29:42,182 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 16 [2022-04-28 13:29:42,183 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:29:42,183 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1291392359] [2022-04-28 13:29:42,183 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1291392359] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:29:42,183 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:29:42,183 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 13:29:42,183 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [873329640] [2022-04-28 13:29:42,183 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:29:42,183 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 10 states have internal predecessors, (27), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) Word has length 105 [2022-04-28 13:29:42,183 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:29:42,184 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.7) internal successors, (27), 10 states have internal predecessors, (27), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 13:29:42,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:42,236 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 13:29:42,236 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:29:42,236 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 13:29:42,237 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-28 13:29:42,237 INFO L87 Difference]: Start difference. First operand 162 states and 181 transitions. Second operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 10 states have internal predecessors, (27), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 13:29:43,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:43,350 INFO L93 Difference]: Finished difference Result 171 states and 190 transitions. [2022-04-28 13:29:43,350 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 13:29:43,350 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 10 states have internal predecessors, (27), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) Word has length 105 [2022-04-28 13:29:43,351 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:29:43,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 10 states have internal predecessors, (27), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 13:29:43,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-28 13:29:43,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 10 states have internal predecessors, (27), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 13:29:43,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-28 13:29:43,354 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 97 transitions. [2022-04-28 13:29:43,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:43,447 INFO L225 Difference]: With dead ends: 171 [2022-04-28 13:29:43,447 INFO L226 Difference]: Without dead ends: 143 [2022-04-28 13:29:43,447 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 210 GetRequests, 191 SyntacticMatches, 4 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=66, Invalid=206, Unknown=0, NotChecked=0, Total=272 [2022-04-28 13:29:43,448 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 9 mSDsluCounter, 220 mSDsCounter, 0 mSdLazyCounter, 390 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 276 SdHoareTripleChecker+Invalid, 402 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 390 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 13:29:43,448 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 276 Invalid, 402 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 390 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 13:29:43,448 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-04-28 13:29:43,539 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 143. [2022-04-28 13:29:43,540 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:29:43,540 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 143 states, 89 states have (on average 1.101123595505618) internal successors, (98), 92 states have internal predecessors, (98), 33 states have call successors, (33), 21 states have call predecessors, (33), 20 states have return successors, (30), 29 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-28 13:29:43,540 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 143 states, 89 states have (on average 1.101123595505618) internal successors, (98), 92 states have internal predecessors, (98), 33 states have call successors, (33), 21 states have call predecessors, (33), 20 states have return successors, (30), 29 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-28 13:29:43,540 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 143 states, 89 states have (on average 1.101123595505618) internal successors, (98), 92 states have internal predecessors, (98), 33 states have call successors, (33), 21 states have call predecessors, (33), 20 states have return successors, (30), 29 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-28 13:29:43,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:43,543 INFO L93 Difference]: Finished difference Result 143 states and 161 transitions. [2022-04-28 13:29:43,544 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 161 transitions. [2022-04-28 13:29:43,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:29:43,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:29:43,544 INFO L74 IsIncluded]: Start isIncluded. First operand has 143 states, 89 states have (on average 1.101123595505618) internal successors, (98), 92 states have internal predecessors, (98), 33 states have call successors, (33), 21 states have call predecessors, (33), 20 states have return successors, (30), 29 states have call predecessors, (30), 30 states have call successors, (30) Second operand 143 states. [2022-04-28 13:29:43,545 INFO L87 Difference]: Start difference. First operand has 143 states, 89 states have (on average 1.101123595505618) internal successors, (98), 92 states have internal predecessors, (98), 33 states have call successors, (33), 21 states have call predecessors, (33), 20 states have return successors, (30), 29 states have call predecessors, (30), 30 states have call successors, (30) Second operand 143 states. [2022-04-28 13:29:43,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:43,548 INFO L93 Difference]: Finished difference Result 143 states and 161 transitions. [2022-04-28 13:29:43,548 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 161 transitions. [2022-04-28 13:29:43,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:29:43,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:29:43,548 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:29:43,548 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:29:43,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 143 states, 89 states have (on average 1.101123595505618) internal successors, (98), 92 states have internal predecessors, (98), 33 states have call successors, (33), 21 states have call predecessors, (33), 20 states have return successors, (30), 29 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-28 13:29:43,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 161 transitions. [2022-04-28 13:29:43,552 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 161 transitions. Word has length 105 [2022-04-28 13:29:43,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:29:43,552 INFO L495 AbstractCegarLoop]: Abstraction has 143 states and 161 transitions. [2022-04-28 13:29:43,552 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 10 states have internal predecessors, (27), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 6 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-28 13:29:43,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 143 states and 161 transitions. [2022-04-28 13:29:43,737 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 161 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:43,737 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 161 transitions. [2022-04-28 13:29:43,738 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 13:29:43,738 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:29:43,738 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:29:43,755 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 13:29:43,938 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 13:29:43,938 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:29:43,938 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:29:43,939 INFO L85 PathProgramCache]: Analyzing trace with hash 1328912794, now seen corresponding path program 1 times [2022-04-28 13:29:43,939 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:29:43,939 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2137449683] [2022-04-28 13:29:48,037 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:29:48,037 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:29:48,037 INFO L85 PathProgramCache]: Analyzing trace with hash 1328912794, now seen corresponding path program 2 times [2022-04-28 13:29:48,038 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:29:48,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [138855223] [2022-04-28 13:29:48,038 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:29:48,038 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:29:48,049 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:29:48,049 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1612555102] [2022-04-28 13:29:48,049 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:29:48,050 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:29:48,050 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:29:48,051 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:29:48,052 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 13:29:48,100 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:29:48,100 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:29:48,101 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 13:29:48,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:29:48,116 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:29:49,793 INFO L272 TraceCheckUtils]: 0: Hoare triple {12736#true} call ULTIMATE.init(); {12736#true} is VALID [2022-04-28 13:29:49,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {12736#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {12736#true} is VALID [2022-04-28 13:29:49,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12736#true} {12736#true} #94#return; {12736#true} is VALID [2022-04-28 13:29:49,794 INFO L272 TraceCheckUtils]: 4: Hoare triple {12736#true} call #t~ret5 := main(); {12736#true} is VALID [2022-04-28 13:29:49,794 INFO L290 TraceCheckUtils]: 5: Hoare triple {12736#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {12736#true} is VALID [2022-04-28 13:29:49,794 INFO L272 TraceCheckUtils]: 6: Hoare triple {12736#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {12736#true} is VALID [2022-04-28 13:29:49,794 INFO L290 TraceCheckUtils]: 7: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-28 13:29:49,794 INFO L290 TraceCheckUtils]: 8: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-28 13:29:49,794 INFO L290 TraceCheckUtils]: 9: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,794 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12736#true} {12736#true} #78#return; {12736#true} is VALID [2022-04-28 13:29:49,795 INFO L290 TraceCheckUtils]: 11: Hoare triple {12736#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {12774#(<= 1 main_~d~0)} is VALID [2022-04-28 13:29:49,795 INFO L290 TraceCheckUtils]: 12: Hoare triple {12774#(<= 1 main_~d~0)} assume !false; {12774#(<= 1 main_~d~0)} is VALID [2022-04-28 13:29:49,795 INFO L272 TraceCheckUtils]: 13: Hoare triple {12774#(<= 1 main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12736#true} is VALID [2022-04-28 13:29:49,795 INFO L290 TraceCheckUtils]: 14: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-28 13:29:49,796 INFO L290 TraceCheckUtils]: 15: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-28 13:29:49,796 INFO L290 TraceCheckUtils]: 16: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,796 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {12736#true} {12774#(<= 1 main_~d~0)} #80#return; {12774#(<= 1 main_~d~0)} is VALID [2022-04-28 13:29:49,796 INFO L272 TraceCheckUtils]: 18: Hoare triple {12774#(<= 1 main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12736#true} is VALID [2022-04-28 13:29:49,796 INFO L290 TraceCheckUtils]: 19: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-28 13:29:49,797 INFO L290 TraceCheckUtils]: 20: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-28 13:29:49,797 INFO L290 TraceCheckUtils]: 21: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,797 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12736#true} {12774#(<= 1 main_~d~0)} #82#return; {12774#(<= 1 main_~d~0)} is VALID [2022-04-28 13:29:49,797 INFO L272 TraceCheckUtils]: 23: Hoare triple {12774#(<= 1 main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12736#true} is VALID [2022-04-28 13:29:49,797 INFO L290 TraceCheckUtils]: 24: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-28 13:29:49,797 INFO L290 TraceCheckUtils]: 25: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-28 13:29:49,798 INFO L290 TraceCheckUtils]: 26: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,798 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {12736#true} {12774#(<= 1 main_~d~0)} #84#return; {12774#(<= 1 main_~d~0)} is VALID [2022-04-28 13:29:49,799 INFO L290 TraceCheckUtils]: 28: Hoare triple {12774#(<= 1 main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12826#(<= 1 (div main_~d~0 2))} is VALID [2022-04-28 13:29:49,799 INFO L290 TraceCheckUtils]: 29: Hoare triple {12826#(<= 1 (div main_~d~0 2))} assume !false; {12826#(<= 1 (div main_~d~0 2))} is VALID [2022-04-28 13:29:49,799 INFO L272 TraceCheckUtils]: 30: Hoare triple {12826#(<= 1 (div main_~d~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12736#true} is VALID [2022-04-28 13:29:49,800 INFO L290 TraceCheckUtils]: 31: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-28 13:29:49,800 INFO L290 TraceCheckUtils]: 32: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-28 13:29:49,800 INFO L290 TraceCheckUtils]: 33: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,800 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {12736#true} {12826#(<= 1 (div main_~d~0 2))} #80#return; {12826#(<= 1 (div main_~d~0 2))} is VALID [2022-04-28 13:29:49,800 INFO L272 TraceCheckUtils]: 35: Hoare triple {12826#(<= 1 (div main_~d~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12736#true} is VALID [2022-04-28 13:29:49,800 INFO L290 TraceCheckUtils]: 36: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-28 13:29:49,801 INFO L290 TraceCheckUtils]: 37: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-28 13:29:49,801 INFO L290 TraceCheckUtils]: 38: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,801 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {12736#true} {12826#(<= 1 (div main_~d~0 2))} #82#return; {12826#(<= 1 (div main_~d~0 2))} is VALID [2022-04-28 13:29:49,801 INFO L272 TraceCheckUtils]: 40: Hoare triple {12826#(<= 1 (div main_~d~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12736#true} is VALID [2022-04-28 13:29:49,801 INFO L290 TraceCheckUtils]: 41: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-28 13:29:49,801 INFO L290 TraceCheckUtils]: 42: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-28 13:29:49,802 INFO L290 TraceCheckUtils]: 43: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,802 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {12736#true} {12826#(<= 1 (div main_~d~0 2))} #84#return; {12826#(<= 1 (div main_~d~0 2))} is VALID [2022-04-28 13:29:49,803 INFO L290 TraceCheckUtils]: 45: Hoare triple {12826#(<= 1 (div main_~d~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-28 13:29:49,804 INFO L290 TraceCheckUtils]: 46: Hoare triple {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} assume !false; {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-28 13:29:49,804 INFO L272 TraceCheckUtils]: 47: Hoare triple {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12736#true} is VALID [2022-04-28 13:29:49,804 INFO L290 TraceCheckUtils]: 48: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-28 13:29:49,804 INFO L290 TraceCheckUtils]: 49: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-28 13:29:49,804 INFO L290 TraceCheckUtils]: 50: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,805 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {12736#true} {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} #80#return; {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-28 13:29:49,805 INFO L272 TraceCheckUtils]: 52: Hoare triple {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12736#true} is VALID [2022-04-28 13:29:49,805 INFO L290 TraceCheckUtils]: 53: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-28 13:29:49,805 INFO L290 TraceCheckUtils]: 54: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-28 13:29:49,805 INFO L290 TraceCheckUtils]: 55: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,806 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {12736#true} {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} #82#return; {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-28 13:29:49,806 INFO L272 TraceCheckUtils]: 57: Hoare triple {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12736#true} is VALID [2022-04-28 13:29:49,806 INFO L290 TraceCheckUtils]: 58: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-28 13:29:49,806 INFO L290 TraceCheckUtils]: 59: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-28 13:29:49,806 INFO L290 TraceCheckUtils]: 60: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,807 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {12736#true} {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} #84#return; {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-28 13:29:49,807 INFO L290 TraceCheckUtils]: 62: Hoare triple {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} assume !(~r~0 >= ~d~0); {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-28 13:29:49,807 INFO L290 TraceCheckUtils]: 63: Hoare triple {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} assume !false; {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-28 13:29:49,808 INFO L272 TraceCheckUtils]: 64: Hoare triple {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {12736#true} is VALID [2022-04-28 13:29:49,808 INFO L290 TraceCheckUtils]: 65: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-28 13:29:49,808 INFO L290 TraceCheckUtils]: 66: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-28 13:29:49,808 INFO L290 TraceCheckUtils]: 67: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,808 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12736#true} {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} #86#return; {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-28 13:29:49,808 INFO L272 TraceCheckUtils]: 69: Hoare triple {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12736#true} is VALID [2022-04-28 13:29:49,809 INFO L290 TraceCheckUtils]: 70: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-28 13:29:49,809 INFO L290 TraceCheckUtils]: 71: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-28 13:29:49,809 INFO L290 TraceCheckUtils]: 72: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-28 13:29:49,809 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {12736#true} {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} #88#return; {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~0 2) 2)))} is VALID [2022-04-28 13:29:49,810 INFO L290 TraceCheckUtils]: 74: Hoare triple {12878#(and (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (<= 1 (div (div main_~d~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); {12966#(and (< 0 (div main_~r~0 2)) (< main_~d~0 (+ main_~r~0 1)))} is VALID [2022-04-28 13:29:49,811 INFO L290 TraceCheckUtils]: 75: Hoare triple {12966#(and (< 0 (div main_~r~0 2)) (< main_~d~0 (+ main_~r~0 1)))} assume !(~r~0 >= ~d~0); {12737#false} is VALID [2022-04-28 13:29:49,811 INFO L290 TraceCheckUtils]: 76: Hoare triple {12737#false} assume !false; {12737#false} is VALID [2022-04-28 13:29:49,811 INFO L272 TraceCheckUtils]: 77: Hoare triple {12737#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {12737#false} is VALID [2022-04-28 13:29:49,811 INFO L290 TraceCheckUtils]: 78: Hoare triple {12737#false} ~cond := #in~cond; {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L290 TraceCheckUtils]: 79: Hoare triple {12737#false} assume !(0 == ~cond); {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L290 TraceCheckUtils]: 80: Hoare triple {12737#false} assume true; {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {12737#false} {12737#false} #86#return; {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L272 TraceCheckUtils]: 82: Hoare triple {12737#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L290 TraceCheckUtils]: 83: Hoare triple {12737#false} ~cond := #in~cond; {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L290 TraceCheckUtils]: 84: Hoare triple {12737#false} assume !(0 == ~cond); {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L290 TraceCheckUtils]: 85: Hoare triple {12737#false} assume true; {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {12737#false} {12737#false} #88#return; {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L290 TraceCheckUtils]: 87: Hoare triple {12737#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L290 TraceCheckUtils]: 88: Hoare triple {12737#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L290 TraceCheckUtils]: 89: Hoare triple {12737#false} assume !false; {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L272 TraceCheckUtils]: 90: Hoare triple {12737#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L290 TraceCheckUtils]: 91: Hoare triple {12737#false} ~cond := #in~cond; {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L290 TraceCheckUtils]: 92: Hoare triple {12737#false} assume !(0 == ~cond); {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L290 TraceCheckUtils]: 93: Hoare triple {12737#false} assume true; {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {12737#false} {12737#false} #86#return; {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L272 TraceCheckUtils]: 95: Hoare triple {12737#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12737#false} is VALID [2022-04-28 13:29:49,812 INFO L290 TraceCheckUtils]: 96: Hoare triple {12737#false} ~cond := #in~cond; {12737#false} is VALID [2022-04-28 13:29:49,813 INFO L290 TraceCheckUtils]: 97: Hoare triple {12737#false} assume !(0 == ~cond); {12737#false} is VALID [2022-04-28 13:29:49,813 INFO L290 TraceCheckUtils]: 98: Hoare triple {12737#false} assume true; {12737#false} is VALID [2022-04-28 13:29:49,813 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {12737#false} {12737#false} #88#return; {12737#false} is VALID [2022-04-28 13:29:49,813 INFO L290 TraceCheckUtils]: 100: Hoare triple {12737#false} assume !(1 != ~p~0); {12737#false} is VALID [2022-04-28 13:29:49,813 INFO L272 TraceCheckUtils]: 101: Hoare triple {12737#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12737#false} is VALID [2022-04-28 13:29:49,813 INFO L290 TraceCheckUtils]: 102: Hoare triple {12737#false} ~cond := #in~cond; {12737#false} is VALID [2022-04-28 13:29:49,813 INFO L290 TraceCheckUtils]: 103: Hoare triple {12737#false} assume 0 == ~cond; {12737#false} is VALID [2022-04-28 13:29:49,813 INFO L290 TraceCheckUtils]: 104: Hoare triple {12737#false} assume !false; {12737#false} is VALID [2022-04-28 13:29:49,814 INFO L134 CoverageAnalysis]: Checked inductivity of 478 backedges. 222 proven. 0 refuted. 0 times theorem prover too weak. 256 trivial. 0 not checked. [2022-04-28 13:29:49,814 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 13:29:49,814 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:29:49,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [138855223] [2022-04-28 13:29:49,814 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:29:49,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1612555102] [2022-04-28 13:29:49,814 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1612555102] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:29:49,814 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:29:49,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:29:49,814 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:29:49,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2137449683] [2022-04-28 13:29:49,815 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2137449683] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:29:49,815 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:29:49,815 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:29:49,815 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [920211620] [2022-04-28 13:29:49,815 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:29:49,815 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) Word has length 105 [2022-04-28 13:29:49,815 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:29:49,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:29:49,861 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:49,861 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 13:29:49,861 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:29:49,862 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 13:29:49,862 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:29:49,862 INFO L87 Difference]: Start difference. First operand 143 states and 161 transitions. Second operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:29:50,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:50,329 INFO L93 Difference]: Finished difference Result 195 states and 230 transitions. [2022-04-28 13:29:50,329 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 13:29:50,329 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) Word has length 105 [2022-04-28 13:29:50,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:29:50,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:29:50,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 101 transitions. [2022-04-28 13:29:50,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:29:50,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 101 transitions. [2022-04-28 13:29:50,334 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 101 transitions. [2022-04-28 13:29:50,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:50,432 INFO L225 Difference]: With dead ends: 195 [2022-04-28 13:29:50,432 INFO L226 Difference]: Without dead ends: 124 [2022-04-28 13:29:50,433 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 100 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-04-28 13:29:50,433 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 8 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 102 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 108 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 102 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:29:50,433 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 157 Invalid, 108 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 102 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:29:50,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-28 13:29:50,520 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 107. [2022-04-28 13:29:50,520 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:29:50,521 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand has 107 states, 67 states have (on average 1.0895522388059702) internal successors, (73), 68 states have internal predecessors, (73), 23 states have call successors, (23), 17 states have call predecessors, (23), 16 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 13:29:50,523 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand has 107 states, 67 states have (on average 1.0895522388059702) internal successors, (73), 68 states have internal predecessors, (73), 23 states have call successors, (23), 17 states have call predecessors, (23), 16 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 13:29:50,523 INFO L87 Difference]: Start difference. First operand 124 states. Second operand has 107 states, 67 states have (on average 1.0895522388059702) internal successors, (73), 68 states have internal predecessors, (73), 23 states have call successors, (23), 17 states have call predecessors, (23), 16 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 13:29:50,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:50,527 INFO L93 Difference]: Finished difference Result 124 states and 146 transitions. [2022-04-28 13:29:50,527 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 146 transitions. [2022-04-28 13:29:50,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:29:50,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:29:50,528 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 67 states have (on average 1.0895522388059702) internal successors, (73), 68 states have internal predecessors, (73), 23 states have call successors, (23), 17 states have call predecessors, (23), 16 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 124 states. [2022-04-28 13:29:50,528 INFO L87 Difference]: Start difference. First operand has 107 states, 67 states have (on average 1.0895522388059702) internal successors, (73), 68 states have internal predecessors, (73), 23 states have call successors, (23), 17 states have call predecessors, (23), 16 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 124 states. [2022-04-28 13:29:50,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:50,530 INFO L93 Difference]: Finished difference Result 124 states and 146 transitions. [2022-04-28 13:29:50,530 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 146 transitions. [2022-04-28 13:29:50,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:29:50,531 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:29:50,531 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:29:50,531 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:29:50,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 67 states have (on average 1.0895522388059702) internal successors, (73), 68 states have internal predecessors, (73), 23 states have call successors, (23), 17 states have call predecessors, (23), 16 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 13:29:50,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 117 transitions. [2022-04-28 13:29:50,534 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 117 transitions. Word has length 105 [2022-04-28 13:29:50,534 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:29:50,534 INFO L495 AbstractCegarLoop]: Abstraction has 107 states and 117 transitions. [2022-04-28 13:29:50,534 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 states have internal predecessors, (28), 5 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 13:29:50,534 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 107 states and 117 transitions. [2022-04-28 13:29:50,692 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:50,692 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 117 transitions. [2022-04-28 13:29:50,693 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-28 13:29:50,693 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:29:50,693 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 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] [2022-04-28 13:29:50,709 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 13:29:50,893 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-28 13:29:50,893 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:29:50,894 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:29:50,894 INFO L85 PathProgramCache]: Analyzing trace with hash -416382532, now seen corresponding path program 5 times [2022-04-28 13:29:50,894 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:29:50,894 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1610469358] [2022-04-28 13:29:54,697 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:29:54,697 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:29:54,697 INFO L85 PathProgramCache]: Analyzing trace with hash -416382532, now seen corresponding path program 6 times [2022-04-28 13:29:54,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:29:54,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1545132557] [2022-04-28 13:29:54,697 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:29:54,697 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:29:54,706 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:29:54,706 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1164287251] [2022-04-28 13:29:54,706 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:29:54,706 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:29:54,706 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:29:54,712 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:29:54,713 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 13:29:54,760 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 13:29:54,760 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:29:54,761 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-28 13:29:54,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:29:54,779 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:29:57,504 INFO L272 TraceCheckUtils]: 0: Hoare triple {13910#true} call ULTIMATE.init(); {13910#true} is VALID [2022-04-28 13:29:57,504 INFO L290 TraceCheckUtils]: 1: Hoare triple {13910#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {13910#true} is VALID [2022-04-28 13:29:57,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,505 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13910#true} {13910#true} #94#return; {13910#true} is VALID [2022-04-28 13:29:57,505 INFO L272 TraceCheckUtils]: 4: Hoare triple {13910#true} call #t~ret5 := main(); {13910#true} is VALID [2022-04-28 13:29:57,505 INFO L290 TraceCheckUtils]: 5: Hoare triple {13910#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {13910#true} is VALID [2022-04-28 13:29:57,505 INFO L272 TraceCheckUtils]: 6: Hoare triple {13910#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,505 INFO L290 TraceCheckUtils]: 7: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,505 INFO L290 TraceCheckUtils]: 8: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,505 INFO L290 TraceCheckUtils]: 9: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,505 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13910#true} {13910#true} #78#return; {13910#true} is VALID [2022-04-28 13:29:57,505 INFO L290 TraceCheckUtils]: 11: Hoare triple {13910#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:57,508 INFO L290 TraceCheckUtils]: 12: Hoare triple {13948#(<= 1 main_~p~0)} assume !false; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:57,508 INFO L272 TraceCheckUtils]: 13: Hoare triple {13948#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,509 INFO L290 TraceCheckUtils]: 14: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,509 INFO L290 TraceCheckUtils]: 15: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,509 INFO L290 TraceCheckUtils]: 16: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,509 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #80#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:57,509 INFO L272 TraceCheckUtils]: 18: Hoare triple {13948#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,509 INFO L290 TraceCheckUtils]: 19: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,509 INFO L290 TraceCheckUtils]: 20: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,509 INFO L290 TraceCheckUtils]: 21: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,510 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #82#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:57,510 INFO L272 TraceCheckUtils]: 23: Hoare triple {13948#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,510 INFO L290 TraceCheckUtils]: 24: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,510 INFO L290 TraceCheckUtils]: 25: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,510 INFO L290 TraceCheckUtils]: 26: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,510 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #84#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:57,511 INFO L290 TraceCheckUtils]: 28: Hoare triple {13948#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:57,511 INFO L290 TraceCheckUtils]: 29: Hoare triple {14000#(<= 1 (div main_~p~0 2))} assume !false; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:57,511 INFO L272 TraceCheckUtils]: 30: Hoare triple {14000#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,511 INFO L290 TraceCheckUtils]: 31: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,511 INFO L290 TraceCheckUtils]: 32: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,511 INFO L290 TraceCheckUtils]: 33: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,519 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13910#true} {14000#(<= 1 (div main_~p~0 2))} #80#return; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:57,519 INFO L272 TraceCheckUtils]: 35: Hoare triple {14000#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,520 INFO L290 TraceCheckUtils]: 36: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,520 INFO L290 TraceCheckUtils]: 37: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,520 INFO L290 TraceCheckUtils]: 38: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,520 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {13910#true} {14000#(<= 1 (div main_~p~0 2))} #82#return; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:57,520 INFO L272 TraceCheckUtils]: 40: Hoare triple {14000#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,520 INFO L290 TraceCheckUtils]: 41: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,520 INFO L290 TraceCheckUtils]: 42: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,520 INFO L290 TraceCheckUtils]: 43: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,521 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {13910#true} {14000#(<= 1 (div main_~p~0 2))} #84#return; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:57,521 INFO L290 TraceCheckUtils]: 45: Hoare triple {14000#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:57,522 INFO L290 TraceCheckUtils]: 46: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:57,522 INFO L272 TraceCheckUtils]: 47: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,522 INFO L290 TraceCheckUtils]: 48: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,522 INFO L290 TraceCheckUtils]: 49: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,522 INFO L290 TraceCheckUtils]: 50: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,522 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13910#true} {14052#(<= 1 (div (div main_~p~0 2) 2))} #80#return; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:57,522 INFO L272 TraceCheckUtils]: 52: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,522 INFO L290 TraceCheckUtils]: 53: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,523 INFO L290 TraceCheckUtils]: 54: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,523 INFO L290 TraceCheckUtils]: 55: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,523 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13910#true} {14052#(<= 1 (div (div main_~p~0 2) 2))} #82#return; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:57,523 INFO L272 TraceCheckUtils]: 57: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,523 INFO L290 TraceCheckUtils]: 58: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,523 INFO L290 TraceCheckUtils]: 59: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,523 INFO L290 TraceCheckUtils]: 60: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,524 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13910#true} {14052#(<= 1 (div (div main_~p~0 2) 2))} #84#return; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:57,524 INFO L290 TraceCheckUtils]: 62: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:29:57,525 INFO L290 TraceCheckUtils]: 63: Hoare triple {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !false; {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:29:57,525 INFO L272 TraceCheckUtils]: 64: Hoare triple {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,525 INFO L290 TraceCheckUtils]: 65: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,525 INFO L290 TraceCheckUtils]: 66: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,525 INFO L290 TraceCheckUtils]: 67: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,525 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13910#true} {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #80#return; {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:29:57,525 INFO L272 TraceCheckUtils]: 69: Hoare triple {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,525 INFO L290 TraceCheckUtils]: 70: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,525 INFO L290 TraceCheckUtils]: 71: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,526 INFO L290 TraceCheckUtils]: 72: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,526 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13910#true} {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #82#return; {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:29:57,527 INFO L272 TraceCheckUtils]: 74: Hoare triple {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,527 INFO L290 TraceCheckUtils]: 75: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,527 INFO L290 TraceCheckUtils]: 76: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,527 INFO L290 TraceCheckUtils]: 77: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,527 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {13910#true} {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #84#return; {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:29:57,527 INFO L290 TraceCheckUtils]: 79: Hoare triple {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !(~r~0 >= ~d~0); {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:29:57,528 INFO L290 TraceCheckUtils]: 80: Hoare triple {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !false; {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:29:57,528 INFO L272 TraceCheckUtils]: 81: Hoare triple {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,528 INFO L290 TraceCheckUtils]: 82: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,528 INFO L290 TraceCheckUtils]: 83: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,528 INFO L290 TraceCheckUtils]: 84: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,528 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {13910#true} {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #86#return; {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:29:57,528 INFO L272 TraceCheckUtils]: 86: Hoare triple {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,528 INFO L290 TraceCheckUtils]: 87: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,528 INFO L290 TraceCheckUtils]: 88: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,529 INFO L290 TraceCheckUtils]: 89: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,529 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {13910#true} {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #88#return; {14104#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:29:57,530 INFO L290 TraceCheckUtils]: 91: Hoare triple {14104#(<= 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); {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:57,530 INFO L290 TraceCheckUtils]: 92: Hoare triple {14052#(<= 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; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:57,530 INFO L290 TraceCheckUtils]: 93: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:57,531 INFO L272 TraceCheckUtils]: 94: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,531 INFO L290 TraceCheckUtils]: 95: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,531 INFO L290 TraceCheckUtils]: 96: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,531 INFO L290 TraceCheckUtils]: 97: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,531 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {13910#true} {14052#(<= 1 (div (div main_~p~0 2) 2))} #86#return; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:57,531 INFO L272 TraceCheckUtils]: 99: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:57,531 INFO L290 TraceCheckUtils]: 100: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:57,531 INFO L290 TraceCheckUtils]: 101: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:57,531 INFO L290 TraceCheckUtils]: 102: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:57,532 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {13910#true} {14052#(<= 1 (div (div main_~p~0 2) 2))} #88#return; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:57,532 INFO L290 TraceCheckUtils]: 104: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {13911#false} is VALID [2022-04-28 13:29:57,532 INFO L272 TraceCheckUtils]: 105: Hoare triple {13911#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13911#false} is VALID [2022-04-28 13:29:57,532 INFO L290 TraceCheckUtils]: 106: Hoare triple {13911#false} ~cond := #in~cond; {13911#false} is VALID [2022-04-28 13:29:57,532 INFO L290 TraceCheckUtils]: 107: Hoare triple {13911#false} assume 0 == ~cond; {13911#false} is VALID [2022-04-28 13:29:57,532 INFO L290 TraceCheckUtils]: 108: Hoare triple {13911#false} assume !false; {13911#false} is VALID [2022-04-28 13:29:57,533 INFO L134 CoverageAnalysis]: Checked inductivity of 546 backedges. 62 proven. 4 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-28 13:29:57,533 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:29:58,364 INFO L290 TraceCheckUtils]: 108: Hoare triple {13911#false} assume !false; {13911#false} is VALID [2022-04-28 13:29:58,365 INFO L290 TraceCheckUtils]: 107: Hoare triple {13911#false} assume 0 == ~cond; {13911#false} is VALID [2022-04-28 13:29:58,365 INFO L290 TraceCheckUtils]: 106: Hoare triple {13911#false} ~cond := #in~cond; {13911#false} is VALID [2022-04-28 13:29:58,365 INFO L272 TraceCheckUtils]: 105: Hoare triple {13911#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13911#false} is VALID [2022-04-28 13:29:58,365 INFO L290 TraceCheckUtils]: 104: Hoare triple {14000#(<= 1 (div main_~p~0 2))} assume !(1 != ~p~0); {13911#false} is VALID [2022-04-28 13:29:58,366 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {13910#true} {14000#(<= 1 (div main_~p~0 2))} #88#return; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:58,366 INFO L290 TraceCheckUtils]: 102: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,366 INFO L290 TraceCheckUtils]: 101: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,366 INFO L290 TraceCheckUtils]: 100: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,366 INFO L272 TraceCheckUtils]: 99: Hoare triple {14000#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,366 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {13910#true} {14000#(<= 1 (div main_~p~0 2))} #86#return; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:58,366 INFO L290 TraceCheckUtils]: 97: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,366 INFO L290 TraceCheckUtils]: 96: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,366 INFO L290 TraceCheckUtils]: 95: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,367 INFO L272 TraceCheckUtils]: 94: Hoare triple {14000#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,367 INFO L290 TraceCheckUtils]: 93: Hoare triple {14000#(<= 1 (div main_~p~0 2))} assume !false; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:58,367 INFO L290 TraceCheckUtils]: 92: Hoare triple {14000#(<= 1 (div main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:58,369 INFO L290 TraceCheckUtils]: 91: Hoare triple {14052#(<= 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); {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:58,369 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {13910#true} {14052#(<= 1 (div (div main_~p~0 2) 2))} #88#return; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:58,369 INFO L290 TraceCheckUtils]: 89: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,369 INFO L290 TraceCheckUtils]: 88: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,370 INFO L290 TraceCheckUtils]: 87: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,370 INFO L272 TraceCheckUtils]: 86: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,370 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {13910#true} {14052#(<= 1 (div (div main_~p~0 2) 2))} #86#return; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:58,370 INFO L290 TraceCheckUtils]: 84: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,370 INFO L290 TraceCheckUtils]: 83: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,370 INFO L290 TraceCheckUtils]: 82: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,371 INFO L272 TraceCheckUtils]: 81: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,371 INFO L290 TraceCheckUtils]: 80: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:58,371 INFO L290 TraceCheckUtils]: 79: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:58,372 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {13910#true} {14052#(<= 1 (div (div main_~p~0 2) 2))} #84#return; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:58,372 INFO L290 TraceCheckUtils]: 77: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,372 INFO L290 TraceCheckUtils]: 76: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,372 INFO L290 TraceCheckUtils]: 75: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,372 INFO L272 TraceCheckUtils]: 74: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,373 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13910#true} {14052#(<= 1 (div (div main_~p~0 2) 2))} #82#return; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:58,373 INFO L290 TraceCheckUtils]: 72: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,373 INFO L290 TraceCheckUtils]: 71: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,373 INFO L290 TraceCheckUtils]: 70: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,373 INFO L272 TraceCheckUtils]: 69: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,373 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13910#true} {14052#(<= 1 (div (div main_~p~0 2) 2))} #80#return; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:58,374 INFO L290 TraceCheckUtils]: 67: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,374 INFO L290 TraceCheckUtils]: 66: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,374 INFO L290 TraceCheckUtils]: 65: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,374 INFO L272 TraceCheckUtils]: 64: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,374 INFO L290 TraceCheckUtils]: 63: Hoare triple {14052#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:58,375 INFO L290 TraceCheckUtils]: 62: Hoare triple {14000#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14052#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:29:58,376 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13910#true} {14000#(<= 1 (div main_~p~0 2))} #84#return; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:58,376 INFO L290 TraceCheckUtils]: 60: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,376 INFO L290 TraceCheckUtils]: 59: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,376 INFO L290 TraceCheckUtils]: 58: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,376 INFO L272 TraceCheckUtils]: 57: Hoare triple {14000#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,376 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {13910#true} {14000#(<= 1 (div main_~p~0 2))} #82#return; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:58,377 INFO L290 TraceCheckUtils]: 55: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,377 INFO L290 TraceCheckUtils]: 54: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,377 INFO L290 TraceCheckUtils]: 53: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,377 INFO L272 TraceCheckUtils]: 52: Hoare triple {14000#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,377 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {13910#true} {14000#(<= 1 (div main_~p~0 2))} #80#return; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:58,377 INFO L290 TraceCheckUtils]: 50: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,377 INFO L290 TraceCheckUtils]: 49: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,378 INFO L290 TraceCheckUtils]: 48: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,378 INFO L272 TraceCheckUtils]: 47: Hoare triple {14000#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,378 INFO L290 TraceCheckUtils]: 46: Hoare triple {14000#(<= 1 (div main_~p~0 2))} assume !false; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:58,379 INFO L290 TraceCheckUtils]: 45: Hoare triple {13948#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14000#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:29:58,379 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #84#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:58,379 INFO L290 TraceCheckUtils]: 43: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,379 INFO L290 TraceCheckUtils]: 42: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,379 INFO L290 TraceCheckUtils]: 41: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,379 INFO L272 TraceCheckUtils]: 40: Hoare triple {13948#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,380 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #82#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:58,380 INFO L290 TraceCheckUtils]: 38: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,380 INFO L290 TraceCheckUtils]: 37: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,380 INFO L290 TraceCheckUtils]: 36: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,380 INFO L272 TraceCheckUtils]: 35: Hoare triple {13948#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,381 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #80#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:58,381 INFO L290 TraceCheckUtils]: 33: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,381 INFO L290 TraceCheckUtils]: 32: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,381 INFO L290 TraceCheckUtils]: 31: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,381 INFO L272 TraceCheckUtils]: 30: Hoare triple {13948#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,381 INFO L290 TraceCheckUtils]: 29: Hoare triple {13948#(<= 1 main_~p~0)} assume !false; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:58,382 INFO L290 TraceCheckUtils]: 28: Hoare triple {13948#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:58,382 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #84#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:58,383 INFO L290 TraceCheckUtils]: 26: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,383 INFO L290 TraceCheckUtils]: 25: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,383 INFO L290 TraceCheckUtils]: 24: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,383 INFO L272 TraceCheckUtils]: 23: Hoare triple {13948#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,383 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #82#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:58,383 INFO L290 TraceCheckUtils]: 21: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,384 INFO L290 TraceCheckUtils]: 20: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,384 INFO L290 TraceCheckUtils]: 19: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,384 INFO L272 TraceCheckUtils]: 18: Hoare triple {13948#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,384 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #80#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:58,384 INFO L290 TraceCheckUtils]: 16: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,384 INFO L290 TraceCheckUtils]: 15: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,384 INFO L290 TraceCheckUtils]: 14: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,385 INFO L272 TraceCheckUtils]: 13: Hoare triple {13948#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,385 INFO L290 TraceCheckUtils]: 12: Hoare triple {13948#(<= 1 main_~p~0)} assume !false; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:58,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {13910#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {13948#(<= 1 main_~p~0)} is VALID [2022-04-28 13:29:58,385 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13910#true} {13910#true} #78#return; {13910#true} is VALID [2022-04-28 13:29:58,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,385 INFO L290 TraceCheckUtils]: 8: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-28 13:29:58,386 INFO L290 TraceCheckUtils]: 7: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-28 13:29:58,386 INFO L272 TraceCheckUtils]: 6: Hoare triple {13910#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {13910#true} is VALID [2022-04-28 13:29:58,386 INFO L290 TraceCheckUtils]: 5: Hoare triple {13910#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {13910#true} is VALID [2022-04-28 13:29:58,386 INFO L272 TraceCheckUtils]: 4: Hoare triple {13910#true} call #t~ret5 := main(); {13910#true} is VALID [2022-04-28 13:29:58,386 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13910#true} {13910#true} #94#return; {13910#true} is VALID [2022-04-28 13:29:58,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-28 13:29:58,386 INFO L290 TraceCheckUtils]: 1: Hoare triple {13910#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {13910#true} is VALID [2022-04-28 13:29:58,386 INFO L272 TraceCheckUtils]: 0: Hoare triple {13910#true} call ULTIMATE.init(); {13910#true} is VALID [2022-04-28 13:29:58,387 INFO L134 CoverageAnalysis]: Checked inductivity of 546 backedges. 57 proven. 4 refuted. 0 times theorem prover too weak. 485 trivial. 0 not checked. [2022-04-28 13:29:58,387 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:29:58,387 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1545132557] [2022-04-28 13:29:58,387 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:29:58,387 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1164287251] [2022-04-28 13:29:58,387 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1164287251] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:29:58,387 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:29:58,387 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 6 [2022-04-28 13:29:58,387 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:29:58,388 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1610469358] [2022-04-28 13:29:58,388 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1610469358] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:29:58,388 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:29:58,388 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:29:58,388 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1396997433] [2022-04-28 13:29:58,388 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:29:58,388 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 6 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) Word has length 109 [2022-04-28 13:29:58,389 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:29:58,389 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 6 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-28 13:29:58,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:58,448 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 13:29:58,448 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:29:58,449 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 13:29:58,449 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:29:58,449 INFO L87 Difference]: Start difference. First operand 107 states and 117 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 6 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-28 13:29:58,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:58,832 INFO L93 Difference]: Finished difference Result 128 states and 148 transitions. [2022-04-28 13:29:58,832 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 13:29:58,832 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 6 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) Word has length 109 [2022-04-28 13:29:58,832 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:29:58,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 6 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-28 13:29:58,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-28 13:29:58,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 6 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-28 13:29:58,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-28 13:29:58,836 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 93 transitions. [2022-04-28 13:29:58,935 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:58,937 INFO L225 Difference]: With dead ends: 128 [2022-04-28 13:29:58,937 INFO L226 Difference]: Without dead ends: 120 [2022-04-28 13:29:58,937 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 217 GetRequests, 208 SyntacticMatches, 5 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:29:58,937 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 12 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 75 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:29:58,938 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 150 Invalid, 75 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:29:58,938 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-04-28 13:29:59,095 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 120. [2022-04-28 13:29:59,095 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:29:59,095 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand has 120 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 75 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 16 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 13:29:59,096 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand has 120 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 75 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 16 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 13:29:59,096 INFO L87 Difference]: Start difference. First operand 120 states. Second operand has 120 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 75 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 16 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 13:29:59,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:59,098 INFO L93 Difference]: Finished difference Result 120 states and 137 transitions. [2022-04-28 13:29:59,098 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 137 transitions. [2022-04-28 13:29:59,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:29:59,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:29:59,099 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 75 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 16 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) Second operand 120 states. [2022-04-28 13:29:59,099 INFO L87 Difference]: Start difference. First operand has 120 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 75 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 16 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) Second operand 120 states. [2022-04-28 13:29:59,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:29:59,102 INFO L93 Difference]: Finished difference Result 120 states and 137 transitions. [2022-04-28 13:29:59,102 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 137 transitions. [2022-04-28 13:29:59,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:29:59,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:29:59,102 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:29:59,102 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:29:59,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 74 states have (on average 1.0945945945945945) internal successors, (81), 75 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 16 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-28 13:29:59,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 137 transitions. [2022-04-28 13:29:59,105 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 137 transitions. Word has length 109 [2022-04-28 13:29:59,105 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:29:59,105 INFO L495 AbstractCegarLoop]: Abstraction has 120 states and 137 transitions. [2022-04-28 13:29:59,106 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 6 states have call successors, (20), 2 states have call predecessors, (20), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-28 13:29:59,106 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 137 transitions. [2022-04-28 13:29:59,340 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:29:59,340 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 137 transitions. [2022-04-28 13:29:59,341 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 13:29:59,341 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:29:59,341 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:29:59,366 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 13:29:59,541 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 13:29:59,541 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:29:59,542 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:29:59,542 INFO L85 PathProgramCache]: Analyzing trace with hash -76721736, now seen corresponding path program 13 times [2022-04-28 13:29:59,542 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:29:59,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1648680885] [2022-04-28 13:30:01,927 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:30:01,927 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:30:01,927 INFO L85 PathProgramCache]: Analyzing trace with hash -76721736, now seen corresponding path program 14 times [2022-04-28 13:30:01,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:30:01,929 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1163325262] [2022-04-28 13:30:01,929 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:30:01,929 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:30:01,938 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:30:01,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [119523287] [2022-04-28 13:30:01,938 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:30:01,939 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:30:01,939 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:30:01,944 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:30:01,945 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 13:30:01,994 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:30:01,994 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:30:01,995 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 13:30:02,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:30:02,012 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:30:02,591 INFO L272 TraceCheckUtils]: 0: Hoare triple {15305#true} call ULTIMATE.init(); {15305#true} is VALID [2022-04-28 13:30:02,591 INFO L290 TraceCheckUtils]: 1: Hoare triple {15305#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {15305#true} is VALID [2022-04-28 13:30:02,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,591 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15305#true} {15305#true} #94#return; {15305#true} is VALID [2022-04-28 13:30:02,591 INFO L272 TraceCheckUtils]: 4: Hoare triple {15305#true} call #t~ret5 := main(); {15305#true} is VALID [2022-04-28 13:30:02,591 INFO L290 TraceCheckUtils]: 5: Hoare triple {15305#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {15305#true} is VALID [2022-04-28 13:30:02,591 INFO L272 TraceCheckUtils]: 6: Hoare triple {15305#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,592 INFO L290 TraceCheckUtils]: 7: Hoare triple {15305#true} ~cond := #in~cond; {15331#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 13:30:02,592 INFO L290 TraceCheckUtils]: 8: Hoare triple {15331#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {15335#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:30:02,592 INFO L290 TraceCheckUtils]: 9: Hoare triple {15335#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {15335#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:30:02,593 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15335#(not (= |assume_abort_if_not_#in~cond| 0))} {15305#true} #78#return; {15342#(and (<= 0 main_~A~0) (<= main_~A~0 5))} is VALID [2022-04-28 13:30:02,593 INFO L290 TraceCheckUtils]: 11: Hoare triple {15342#(and (<= 0 main_~A~0) (<= main_~A~0 5))} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} is VALID [2022-04-28 13:30:02,593 INFO L290 TraceCheckUtils]: 12: Hoare triple {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} assume !false; {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} is VALID [2022-04-28 13:30:02,593 INFO L272 TraceCheckUtils]: 13: Hoare triple {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,594 INFO L290 TraceCheckUtils]: 14: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,594 INFO L290 TraceCheckUtils]: 15: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,594 INFO L290 TraceCheckUtils]: 16: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,594 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {15305#true} {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} #80#return; {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} is VALID [2022-04-28 13:30:02,594 INFO L272 TraceCheckUtils]: 18: Hoare triple {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,594 INFO L290 TraceCheckUtils]: 19: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,594 INFO L290 TraceCheckUtils]: 20: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,594 INFO L290 TraceCheckUtils]: 21: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,595 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {15305#true} {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} #82#return; {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} is VALID [2022-04-28 13:30:02,595 INFO L272 TraceCheckUtils]: 23: Hoare triple {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,595 INFO L290 TraceCheckUtils]: 24: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,595 INFO L290 TraceCheckUtils]: 25: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,595 INFO L290 TraceCheckUtils]: 26: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,595 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {15305#true} {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} #84#return; {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} is VALID [2022-04-28 13:30:02,596 INFO L290 TraceCheckUtils]: 28: Hoare triple {15346#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} is VALID [2022-04-28 13:30:02,596 INFO L290 TraceCheckUtils]: 29: Hoare triple {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} assume !false; {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} is VALID [2022-04-28 13:30:02,596 INFO L272 TraceCheckUtils]: 30: Hoare triple {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,596 INFO L290 TraceCheckUtils]: 31: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,596 INFO L290 TraceCheckUtils]: 32: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,596 INFO L290 TraceCheckUtils]: 33: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,597 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {15305#true} {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} #80#return; {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} is VALID [2022-04-28 13:30:02,597 INFO L272 TraceCheckUtils]: 35: Hoare triple {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,597 INFO L290 TraceCheckUtils]: 36: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,597 INFO L290 TraceCheckUtils]: 37: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,597 INFO L290 TraceCheckUtils]: 38: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,597 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {15305#true} {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} #82#return; {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} is VALID [2022-04-28 13:30:02,597 INFO L272 TraceCheckUtils]: 40: Hoare triple {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,597 INFO L290 TraceCheckUtils]: 41: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,597 INFO L290 TraceCheckUtils]: 42: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,597 INFO L290 TraceCheckUtils]: 43: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,598 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {15305#true} {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} #84#return; {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} is VALID [2022-04-28 13:30:02,598 INFO L290 TraceCheckUtils]: 45: Hoare triple {15398#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} is VALID [2022-04-28 13:30:02,599 INFO L290 TraceCheckUtils]: 46: Hoare triple {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} assume !false; {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} is VALID [2022-04-28 13:30:02,599 INFO L272 TraceCheckUtils]: 47: Hoare triple {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,599 INFO L290 TraceCheckUtils]: 48: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,599 INFO L290 TraceCheckUtils]: 49: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,599 INFO L290 TraceCheckUtils]: 50: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,599 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {15305#true} {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} #80#return; {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} is VALID [2022-04-28 13:30:02,599 INFO L272 TraceCheckUtils]: 52: Hoare triple {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,599 INFO L290 TraceCheckUtils]: 53: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,599 INFO L290 TraceCheckUtils]: 54: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,599 INFO L290 TraceCheckUtils]: 55: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,600 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {15305#true} {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} #82#return; {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} is VALID [2022-04-28 13:30:02,600 INFO L272 TraceCheckUtils]: 57: Hoare triple {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,600 INFO L290 TraceCheckUtils]: 58: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,600 INFO L290 TraceCheckUtils]: 59: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,600 INFO L290 TraceCheckUtils]: 60: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,600 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15305#true} {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} #84#return; {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} is VALID [2022-04-28 13:30:02,601 INFO L290 TraceCheckUtils]: 62: Hoare triple {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} is VALID [2022-04-28 13:30:02,601 INFO L290 TraceCheckUtils]: 63: Hoare triple {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} assume !false; {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} is VALID [2022-04-28 13:30:02,601 INFO L272 TraceCheckUtils]: 64: Hoare triple {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,601 INFO L290 TraceCheckUtils]: 65: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,601 INFO L290 TraceCheckUtils]: 66: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,601 INFO L290 TraceCheckUtils]: 67: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,602 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15305#true} {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} #80#return; {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} is VALID [2022-04-28 13:30:02,602 INFO L272 TraceCheckUtils]: 69: Hoare triple {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,602 INFO L290 TraceCheckUtils]: 70: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,602 INFO L290 TraceCheckUtils]: 71: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,602 INFO L290 TraceCheckUtils]: 72: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,602 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {15305#true} {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} #82#return; {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} is VALID [2022-04-28 13:30:02,603 INFO L272 TraceCheckUtils]: 74: Hoare triple {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,603 INFO L290 TraceCheckUtils]: 75: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,603 INFO L290 TraceCheckUtils]: 76: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,603 INFO L290 TraceCheckUtils]: 77: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,603 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {15305#true} {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} #84#return; {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} is VALID [2022-04-28 13:30:02,603 INFO L290 TraceCheckUtils]: 79: Hoare triple {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} assume !(~r~0 >= ~d~0); {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} is VALID [2022-04-28 13:30:02,604 INFO L290 TraceCheckUtils]: 80: Hoare triple {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} assume !false; {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} is VALID [2022-04-28 13:30:02,604 INFO L272 TraceCheckUtils]: 81: Hoare triple {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,604 INFO L290 TraceCheckUtils]: 82: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,604 INFO L290 TraceCheckUtils]: 83: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,604 INFO L290 TraceCheckUtils]: 84: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,604 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {15305#true} {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} #86#return; {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} is VALID [2022-04-28 13:30:02,605 INFO L272 TraceCheckUtils]: 86: Hoare triple {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,605 INFO L290 TraceCheckUtils]: 87: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,605 INFO L290 TraceCheckUtils]: 88: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,605 INFO L290 TraceCheckUtils]: 89: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,605 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {15305#true} {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} #88#return; {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} is VALID [2022-04-28 13:30:02,606 INFO L290 TraceCheckUtils]: 91: Hoare triple {15502#(and (<= 0 main_~r~0) (<= main_~r~0 5) (= main_~d~0 8))} 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); {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} is VALID [2022-04-28 13:30:02,606 INFO L290 TraceCheckUtils]: 92: Hoare triple {15450#(and (<= 0 main_~r~0) (= main_~d~0 4) (<= main_~r~0 5))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15593#(and (<= (+ main_~d~0 main_~r~0) 5) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 4))} is VALID [2022-04-28 13:30:02,607 INFO L290 TraceCheckUtils]: 93: Hoare triple {15593#(and (<= (+ main_~d~0 main_~r~0) 5) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 4))} assume !false; {15593#(and (<= (+ main_~d~0 main_~r~0) 5) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 4))} is VALID [2022-04-28 13:30:02,607 INFO L272 TraceCheckUtils]: 94: Hoare triple {15593#(and (<= (+ main_~d~0 main_~r~0) 5) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 4))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,607 INFO L290 TraceCheckUtils]: 95: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,607 INFO L290 TraceCheckUtils]: 96: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,607 INFO L290 TraceCheckUtils]: 97: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,607 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {15305#true} {15593#(and (<= (+ main_~d~0 main_~r~0) 5) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 4))} #86#return; {15593#(and (<= (+ main_~d~0 main_~r~0) 5) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 4))} is VALID [2022-04-28 13:30:02,607 INFO L272 TraceCheckUtils]: 99: Hoare triple {15593#(and (<= (+ main_~d~0 main_~r~0) 5) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:02,608 INFO L290 TraceCheckUtils]: 100: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:02,608 INFO L290 TraceCheckUtils]: 101: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:02,608 INFO L290 TraceCheckUtils]: 102: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:02,608 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {15305#true} {15593#(and (<= (+ main_~d~0 main_~r~0) 5) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 4))} #88#return; {15593#(and (<= (+ main_~d~0 main_~r~0) 5) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 4))} is VALID [2022-04-28 13:30:02,609 INFO L290 TraceCheckUtils]: 104: Hoare triple {15593#(and (<= (+ main_~d~0 main_~r~0) 5) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~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); {15630#(and (<= main_~r~0 1) (<= 0 (+ main_~r~0 4)) (= main_~d~0 2))} is VALID [2022-04-28 13:30:02,609 INFO L290 TraceCheckUtils]: 105: Hoare triple {15630#(and (<= main_~r~0 1) (<= 0 (+ main_~r~0 4)) (= main_~d~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15306#false} is VALID [2022-04-28 13:30:02,609 INFO L290 TraceCheckUtils]: 106: Hoare triple {15306#false} assume !false; {15306#false} is VALID [2022-04-28 13:30:02,609 INFO L272 TraceCheckUtils]: 107: Hoare triple {15306#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15306#false} is VALID [2022-04-28 13:30:02,609 INFO L290 TraceCheckUtils]: 108: Hoare triple {15306#false} ~cond := #in~cond; {15306#false} is VALID [2022-04-28 13:30:02,609 INFO L290 TraceCheckUtils]: 109: Hoare triple {15306#false} assume 0 == ~cond; {15306#false} is VALID [2022-04-28 13:30:02,609 INFO L290 TraceCheckUtils]: 110: Hoare triple {15306#false} assume !false; {15306#false} is VALID [2022-04-28 13:30:02,610 INFO L134 CoverageAnalysis]: Checked inductivity of 551 backedges. 36 proven. 35 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-28 13:30:02,610 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:30:03,660 INFO L290 TraceCheckUtils]: 110: Hoare triple {15306#false} assume !false; {15306#false} is VALID [2022-04-28 13:30:03,660 INFO L290 TraceCheckUtils]: 109: Hoare triple {15306#false} assume 0 == ~cond; {15306#false} is VALID [2022-04-28 13:30:03,660 INFO L290 TraceCheckUtils]: 108: Hoare triple {15306#false} ~cond := #in~cond; {15306#false} is VALID [2022-04-28 13:30:03,660 INFO L272 TraceCheckUtils]: 107: Hoare triple {15306#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15306#false} is VALID [2022-04-28 13:30:03,661 INFO L290 TraceCheckUtils]: 106: Hoare triple {15306#false} assume !false; {15306#false} is VALID [2022-04-28 13:30:03,661 INFO L290 TraceCheckUtils]: 105: Hoare triple {15664#(not (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15306#false} is VALID [2022-04-28 13:30:03,662 INFO L290 TraceCheckUtils]: 104: Hoare triple {15668#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (< main_~r~0 (+ (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); {15664#(not (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:30:03,662 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {15305#true} {15668#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (< main_~r~0 (+ (div main_~d~0 2) 1)))} #88#return; {15668#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (< main_~r~0 (+ (div main_~d~0 2) 1)))} is VALID [2022-04-28 13:30:03,662 INFO L290 TraceCheckUtils]: 102: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,662 INFO L290 TraceCheckUtils]: 101: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,662 INFO L290 TraceCheckUtils]: 100: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,662 INFO L272 TraceCheckUtils]: 99: Hoare triple {15668#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (< main_~r~0 (+ (div main_~d~0 2) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,663 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {15305#true} {15668#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (< main_~r~0 (+ (div main_~d~0 2) 1)))} #86#return; {15668#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (< main_~r~0 (+ (div main_~d~0 2) 1)))} is VALID [2022-04-28 13:30:03,663 INFO L290 TraceCheckUtils]: 97: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,663 INFO L290 TraceCheckUtils]: 96: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,663 INFO L290 TraceCheckUtils]: 95: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,663 INFO L272 TraceCheckUtils]: 94: Hoare triple {15668#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (< main_~r~0 (+ (div main_~d~0 2) 1)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,664 INFO L290 TraceCheckUtils]: 93: Hoare triple {15668#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (< main_~r~0 (+ (div main_~d~0 2) 1)))} assume !false; {15668#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (< main_~r~0 (+ (div main_~d~0 2) 1)))} is VALID [2022-04-28 13:30:03,667 INFO L290 TraceCheckUtils]: 92: Hoare triple {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15668#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (< main_~r~0 (+ (div main_~d~0 2) 1)))} is VALID [2022-04-28 13:30:03,669 INFO L290 TraceCheckUtils]: 91: Hoare triple {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 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); {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} is VALID [2022-04-28 13:30:03,669 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {15305#true} {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #88#return; {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-28 13:30:03,670 INFO L290 TraceCheckUtils]: 89: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,670 INFO L290 TraceCheckUtils]: 88: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,670 INFO L290 TraceCheckUtils]: 87: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,670 INFO L272 TraceCheckUtils]: 86: Hoare triple {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,671 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {15305#true} {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #86#return; {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-28 13:30:03,671 INFO L290 TraceCheckUtils]: 84: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,671 INFO L290 TraceCheckUtils]: 83: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,671 INFO L290 TraceCheckUtils]: 82: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,671 INFO L272 TraceCheckUtils]: 81: Hoare triple {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,675 INFO L290 TraceCheckUtils]: 80: Hoare triple {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} assume !false; {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-28 13:30:03,676 INFO L290 TraceCheckUtils]: 79: Hoare triple {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} assume !(~r~0 >= ~d~0); {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-28 13:30:03,676 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {15305#true} {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #84#return; {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-28 13:30:03,676 INFO L290 TraceCheckUtils]: 77: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,676 INFO L290 TraceCheckUtils]: 76: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,676 INFO L290 TraceCheckUtils]: 75: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,677 INFO L272 TraceCheckUtils]: 74: Hoare triple {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,677 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {15305#true} {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #82#return; {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-28 13:30:03,677 INFO L290 TraceCheckUtils]: 72: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,677 INFO L290 TraceCheckUtils]: 71: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,677 INFO L290 TraceCheckUtils]: 70: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,677 INFO L272 TraceCheckUtils]: 69: Hoare triple {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,678 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15305#true} {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #80#return; {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-28 13:30:03,678 INFO L290 TraceCheckUtils]: 67: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,678 INFO L290 TraceCheckUtils]: 66: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,678 INFO L290 TraceCheckUtils]: 65: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,678 INFO L272 TraceCheckUtils]: 64: Hoare triple {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,679 INFO L290 TraceCheckUtils]: 63: Hoare triple {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} assume !false; {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-28 13:30:03,680 INFO L290 TraceCheckUtils]: 62: Hoare triple {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15709#(and (< main_~r~0 (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2))) (or (and (< main_~r~0 (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1)) (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 (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-28 13:30:03,680 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15305#true} {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} #84#return; {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} is VALID [2022-04-28 13:30:03,681 INFO L290 TraceCheckUtils]: 60: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,681 INFO L290 TraceCheckUtils]: 59: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,681 INFO L290 TraceCheckUtils]: 58: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,681 INFO L272 TraceCheckUtils]: 57: Hoare triple {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,681 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {15305#true} {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} #82#return; {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} is VALID [2022-04-28 13:30:03,681 INFO L290 TraceCheckUtils]: 55: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,681 INFO L290 TraceCheckUtils]: 54: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,681 INFO L290 TraceCheckUtils]: 53: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,681 INFO L272 TraceCheckUtils]: 52: Hoare triple {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,682 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {15305#true} {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} #80#return; {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} is VALID [2022-04-28 13:30:03,682 INFO L290 TraceCheckUtils]: 50: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,682 INFO L290 TraceCheckUtils]: 49: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,682 INFO L290 TraceCheckUtils]: 48: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,682 INFO L272 TraceCheckUtils]: 47: Hoare triple {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,682 INFO L290 TraceCheckUtils]: 46: Hoare triple {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} assume !false; {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} is VALID [2022-04-28 13:30:03,683 INFO L290 TraceCheckUtils]: 45: Hoare triple {15848#(< main_~r~0 (* main_~d~0 3))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15705#(and (< main_~r~0 (+ main_~d~0 (div main_~d~0 2) 1)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} is VALID [2022-04-28 13:30:03,684 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {15305#true} {15848#(< main_~r~0 (* main_~d~0 3))} #84#return; {15848#(< main_~r~0 (* main_~d~0 3))} is VALID [2022-04-28 13:30:03,684 INFO L290 TraceCheckUtils]: 43: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,684 INFO L290 TraceCheckUtils]: 42: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,684 INFO L290 TraceCheckUtils]: 41: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,684 INFO L272 TraceCheckUtils]: 40: Hoare triple {15848#(< main_~r~0 (* main_~d~0 3))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,684 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {15305#true} {15848#(< main_~r~0 (* main_~d~0 3))} #82#return; {15848#(< main_~r~0 (* main_~d~0 3))} is VALID [2022-04-28 13:30:03,684 INFO L290 TraceCheckUtils]: 38: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,684 INFO L290 TraceCheckUtils]: 37: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,684 INFO L290 TraceCheckUtils]: 36: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,685 INFO L272 TraceCheckUtils]: 35: Hoare triple {15848#(< main_~r~0 (* main_~d~0 3))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,685 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {15305#true} {15848#(< main_~r~0 (* main_~d~0 3))} #80#return; {15848#(< main_~r~0 (* main_~d~0 3))} is VALID [2022-04-28 13:30:03,685 INFO L290 TraceCheckUtils]: 33: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,685 INFO L290 TraceCheckUtils]: 32: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,685 INFO L272 TraceCheckUtils]: 30: Hoare triple {15848#(< main_~r~0 (* main_~d~0 3))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,685 INFO L290 TraceCheckUtils]: 29: Hoare triple {15848#(< main_~r~0 (* main_~d~0 3))} assume !false; {15848#(< main_~r~0 (* main_~d~0 3))} is VALID [2022-04-28 13:30:03,686 INFO L290 TraceCheckUtils]: 28: Hoare triple {15900#(< main_~r~0 (* main_~d~0 6))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15848#(< main_~r~0 (* main_~d~0 3))} is VALID [2022-04-28 13:30:03,686 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {15305#true} {15900#(< main_~r~0 (* main_~d~0 6))} #84#return; {15900#(< main_~r~0 (* main_~d~0 6))} is VALID [2022-04-28 13:30:03,687 INFO L290 TraceCheckUtils]: 26: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,687 INFO L290 TraceCheckUtils]: 25: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,687 INFO L290 TraceCheckUtils]: 24: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,687 INFO L272 TraceCheckUtils]: 23: Hoare triple {15900#(< main_~r~0 (* main_~d~0 6))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,687 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {15305#true} {15900#(< main_~r~0 (* main_~d~0 6))} #82#return; {15900#(< main_~r~0 (* main_~d~0 6))} is VALID [2022-04-28 13:30:03,687 INFO L290 TraceCheckUtils]: 21: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,687 INFO L290 TraceCheckUtils]: 19: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,687 INFO L272 TraceCheckUtils]: 18: Hoare triple {15900#(< main_~r~0 (* main_~d~0 6))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,688 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {15305#true} {15900#(< main_~r~0 (* main_~d~0 6))} #80#return; {15900#(< main_~r~0 (* main_~d~0 6))} is VALID [2022-04-28 13:30:03,688 INFO L290 TraceCheckUtils]: 16: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,688 INFO L290 TraceCheckUtils]: 15: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-28 13:30:03,688 INFO L290 TraceCheckUtils]: 14: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-28 13:30:03,688 INFO L272 TraceCheckUtils]: 13: Hoare triple {15900#(< main_~r~0 (* main_~d~0 6))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,688 INFO L290 TraceCheckUtils]: 12: Hoare triple {15900#(< main_~r~0 (* main_~d~0 6))} assume !false; {15900#(< main_~r~0 (* main_~d~0 6))} is VALID [2022-04-28 13:30:03,689 INFO L290 TraceCheckUtils]: 11: Hoare triple {15952#(< main_~A~0 6)} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {15900#(< main_~r~0 (* main_~d~0 6))} is VALID [2022-04-28 13:30:03,689 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15335#(not (= |assume_abort_if_not_#in~cond| 0))} {15305#true} #78#return; {15952#(< main_~A~0 6)} is VALID [2022-04-28 13:30:03,689 INFO L290 TraceCheckUtils]: 9: Hoare triple {15335#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {15335#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:30:03,690 INFO L290 TraceCheckUtils]: 8: Hoare triple {15965#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {15335#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 13:30:03,690 INFO L290 TraceCheckUtils]: 7: Hoare triple {15305#true} ~cond := #in~cond; {15965#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 13:30:03,690 INFO L272 TraceCheckUtils]: 6: Hoare triple {15305#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {15305#true} is VALID [2022-04-28 13:30:03,690 INFO L290 TraceCheckUtils]: 5: Hoare triple {15305#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {15305#true} is VALID [2022-04-28 13:30:03,690 INFO L272 TraceCheckUtils]: 4: Hoare triple {15305#true} call #t~ret5 := main(); {15305#true} is VALID [2022-04-28 13:30:03,690 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15305#true} {15305#true} #94#return; {15305#true} is VALID [2022-04-28 13:30:03,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-28 13:30:03,690 INFO L290 TraceCheckUtils]: 1: Hoare triple {15305#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {15305#true} is VALID [2022-04-28 13:30:03,690 INFO L272 TraceCheckUtils]: 0: Hoare triple {15305#true} call ULTIMATE.init(); {15305#true} is VALID [2022-04-28 13:30:03,691 INFO L134 CoverageAnalysis]: Checked inductivity of 551 backedges. 36 proven. 35 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-28 13:30:03,691 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:30:03,691 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1163325262] [2022-04-28 13:30:03,691 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:30:03,691 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [119523287] [2022-04-28 13:30:03,691 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [119523287] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:30:03,691 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:30:03,691 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2022-04-28 13:30:03,691 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:30:03,691 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1648680885] [2022-04-28 13:30:03,691 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1648680885] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:30:03,691 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:30:03,692 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 13:30:03,692 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1136251961] [2022-04-28 13:30:03,692 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:30:03,692 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) Word has length 111 [2022-04-28 13:30:03,692 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:30:03,692 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 13:30:03,742 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:30:03,743 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 13:30:03,743 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:30:03,743 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 13:30:03,743 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=283, Unknown=0, NotChecked=0, Total=342 [2022-04-28 13:30:03,743 INFO L87 Difference]: Start difference. First operand 120 states and 137 transitions. Second operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 13:30:04,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:30:04,994 INFO L93 Difference]: Finished difference Result 192 states and 230 transitions. [2022-04-28 13:30:04,994 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 13:30:04,994 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) Word has length 111 [2022-04-28 13:30:04,994 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:30:04,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 13:30:04,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 121 transitions. [2022-04-28 13:30:04,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 13:30:04,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 121 transitions. [2022-04-28 13:30:04,998 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 121 transitions. [2022-04-28 13:30:05,120 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:30:05,123 INFO L225 Difference]: With dead ends: 192 [2022-04-28 13:30:05,123 INFO L226 Difference]: Without dead ends: 127 [2022-04-28 13:30:05,123 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 228 GetRequests, 203 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=119, Invalid=531, Unknown=0, NotChecked=0, Total=650 [2022-04-28 13:30:05,124 INFO L413 NwaCegarLoop]: 69 mSDtfsCounter, 28 mSDsluCounter, 276 mSDsCounter, 0 mSdLazyCounter, 393 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 345 SdHoareTripleChecker+Invalid, 437 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 393 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 13:30:05,124 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 345 Invalid, 437 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 393 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 13:30:05,124 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-04-28 13:30:05,360 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 116. [2022-04-28 13:30:05,360 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:30:05,360 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 116 states, 72 states have (on average 1.0694444444444444) internal successors, (77), 73 states have internal predecessors, (77), 27 states have call successors, (27), 17 states have call predecessors, (27), 16 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 13:30:05,360 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 116 states, 72 states have (on average 1.0694444444444444) internal successors, (77), 73 states have internal predecessors, (77), 27 states have call successors, (27), 17 states have call predecessors, (27), 16 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 13:30:05,361 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 116 states, 72 states have (on average 1.0694444444444444) internal successors, (77), 73 states have internal predecessors, (77), 27 states have call successors, (27), 17 states have call predecessors, (27), 16 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 13:30:05,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:30:05,363 INFO L93 Difference]: Finished difference Result 127 states and 148 transitions. [2022-04-28 13:30:05,363 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 148 transitions. [2022-04-28 13:30:05,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:30:05,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:30:05,364 INFO L74 IsIncluded]: Start isIncluded. First operand has 116 states, 72 states have (on average 1.0694444444444444) internal successors, (77), 73 states have internal predecessors, (77), 27 states have call successors, (27), 17 states have call predecessors, (27), 16 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) Second operand 127 states. [2022-04-28 13:30:05,365 INFO L87 Difference]: Start difference. First operand has 116 states, 72 states have (on average 1.0694444444444444) internal successors, (77), 73 states have internal predecessors, (77), 27 states have call successors, (27), 17 states have call predecessors, (27), 16 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) Second operand 127 states. [2022-04-28 13:30:05,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:30:05,370 INFO L93 Difference]: Finished difference Result 127 states and 148 transitions. [2022-04-28 13:30:05,370 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 148 transitions. [2022-04-28 13:30:05,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:30:05,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:30:05,371 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:30:05,371 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:30:05,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 116 states, 72 states have (on average 1.0694444444444444) internal successors, (77), 73 states have internal predecessors, (77), 27 states have call successors, (27), 17 states have call predecessors, (27), 16 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 13:30:05,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 129 transitions. [2022-04-28 13:30:05,374 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 129 transitions. Word has length 111 [2022-04-28 13:30:05,374 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:30:05,374 INFO L495 AbstractCegarLoop]: Abstraction has 116 states and 129 transitions. [2022-04-28 13:30:05,374 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 7 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 13:30:05,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 116 states and 129 transitions. [2022-04-28 13:30:05,608 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:30:05,609 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 129 transitions. [2022-04-28 13:30:05,609 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2022-04-28 13:30:05,609 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:30:05,610 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:30:05,631 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-28 13:30:05,810 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:30:05,810 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:30:05,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:30:05,811 INFO L85 PathProgramCache]: Analyzing trace with hash -1927738231, now seen corresponding path program 1 times [2022-04-28 13:30:05,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:30:05,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2076682212] [2022-04-28 13:30:08,974 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:30:08,974 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:30:08,974 INFO L85 PathProgramCache]: Analyzing trace with hash -1927738231, now seen corresponding path program 2 times [2022-04-28 13:30:08,974 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:30:08,975 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1904791351] [2022-04-28 13:30:08,975 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:30:08,975 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:30:08,987 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:30:08,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [177818986] [2022-04-28 13:30:08,988 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:30:08,988 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:30:08,988 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:30:08,992 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:30:08,999 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 13:30:09,066 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:30:09,066 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:30:09,067 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 13:30:09,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:30:09,086 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:30:09,925 INFO L272 TraceCheckUtils]: 0: Hoare triple {16873#true} call ULTIMATE.init(); {16873#true} is VALID [2022-04-28 13:30:09,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {16873#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {16873#true} is VALID [2022-04-28 13:30:09,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16873#true} {16873#true} #94#return; {16873#true} is VALID [2022-04-28 13:30:09,926 INFO L272 TraceCheckUtils]: 4: Hoare triple {16873#true} call #t~ret5 := main(); {16873#true} is VALID [2022-04-28 13:30:09,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {16873#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {16873#true} is VALID [2022-04-28 13:30:09,926 INFO L272 TraceCheckUtils]: 6: Hoare triple {16873#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,926 INFO L290 TraceCheckUtils]: 8: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,926 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16873#true} {16873#true} #78#return; {16873#true} is VALID [2022-04-28 13:30:09,926 INFO L290 TraceCheckUtils]: 11: Hoare triple {16873#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:30:09,927 INFO L290 TraceCheckUtils]: 12: Hoare triple {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:30:09,927 INFO L272 TraceCheckUtils]: 13: Hoare triple {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,927 INFO L290 TraceCheckUtils]: 14: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,927 INFO L290 TraceCheckUtils]: 15: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,927 INFO L290 TraceCheckUtils]: 16: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,928 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {16873#true} {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:30:09,928 INFO L272 TraceCheckUtils]: 18: Hoare triple {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,928 INFO L290 TraceCheckUtils]: 19: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,928 INFO L290 TraceCheckUtils]: 20: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,928 INFO L290 TraceCheckUtils]: 21: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,932 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16873#true} {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:30:09,932 INFO L272 TraceCheckUtils]: 23: Hoare triple {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,932 INFO L290 TraceCheckUtils]: 24: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,932 INFO L290 TraceCheckUtils]: 25: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,932 INFO L290 TraceCheckUtils]: 26: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,933 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {16873#true} {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-28 13:30:09,933 INFO L290 TraceCheckUtils]: 28: Hoare triple {16911#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:30:09,934 INFO L290 TraceCheckUtils]: 29: Hoare triple {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:30:09,934 INFO L272 TraceCheckUtils]: 30: Hoare triple {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,934 INFO L290 TraceCheckUtils]: 31: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,934 INFO L290 TraceCheckUtils]: 32: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,934 INFO L290 TraceCheckUtils]: 33: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,935 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {16873#true} {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:30:09,935 INFO L272 TraceCheckUtils]: 35: Hoare triple {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,935 INFO L290 TraceCheckUtils]: 36: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,935 INFO L290 TraceCheckUtils]: 37: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,935 INFO L290 TraceCheckUtils]: 38: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,936 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {16873#true} {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:30:09,936 INFO L272 TraceCheckUtils]: 40: Hoare triple {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,936 INFO L290 TraceCheckUtils]: 41: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,936 INFO L290 TraceCheckUtils]: 42: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,936 INFO L290 TraceCheckUtils]: 43: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,937 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {16873#true} {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-28 13:30:09,938 INFO L290 TraceCheckUtils]: 45: Hoare triple {16963#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:30:09,938 INFO L290 TraceCheckUtils]: 46: Hoare triple {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:30:09,938 INFO L272 TraceCheckUtils]: 47: Hoare triple {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,938 INFO L290 TraceCheckUtils]: 48: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,939 INFO L290 TraceCheckUtils]: 49: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,939 INFO L290 TraceCheckUtils]: 50: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,939 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16873#true} {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #80#return; {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:30:09,939 INFO L272 TraceCheckUtils]: 52: Hoare triple {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,940 INFO L290 TraceCheckUtils]: 53: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,940 INFO L290 TraceCheckUtils]: 54: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,940 INFO L290 TraceCheckUtils]: 55: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,940 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {16873#true} {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #82#return; {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:30:09,941 INFO L272 TraceCheckUtils]: 57: Hoare triple {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,941 INFO L290 TraceCheckUtils]: 58: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,941 INFO L290 TraceCheckUtils]: 59: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,941 INFO L290 TraceCheckUtils]: 60: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,941 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16873#true} {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #84#return; {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:30:09,942 INFO L290 TraceCheckUtils]: 62: Hoare triple {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:30:09,942 INFO L290 TraceCheckUtils]: 63: Hoare triple {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} assume !false; {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:30:09,943 INFO L272 TraceCheckUtils]: 64: Hoare triple {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,943 INFO L290 TraceCheckUtils]: 65: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,943 INFO L290 TraceCheckUtils]: 66: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,943 INFO L290 TraceCheckUtils]: 67: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,943 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16873#true} {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} #80#return; {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:30:09,944 INFO L272 TraceCheckUtils]: 69: Hoare triple {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,944 INFO L290 TraceCheckUtils]: 70: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,944 INFO L290 TraceCheckUtils]: 71: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,944 INFO L290 TraceCheckUtils]: 72: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,944 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {16873#true} {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} #82#return; {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:30:09,945 INFO L272 TraceCheckUtils]: 74: Hoare triple {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,945 INFO L290 TraceCheckUtils]: 75: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,945 INFO L290 TraceCheckUtils]: 76: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,945 INFO L290 TraceCheckUtils]: 77: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,945 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {16873#true} {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} #84#return; {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:30:09,946 INFO L290 TraceCheckUtils]: 79: Hoare triple {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} assume !(~r~0 >= ~d~0); {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:30:09,946 INFO L290 TraceCheckUtils]: 80: Hoare triple {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} assume !false; {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:30:09,946 INFO L272 TraceCheckUtils]: 81: Hoare triple {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,947 INFO L290 TraceCheckUtils]: 82: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,947 INFO L290 TraceCheckUtils]: 83: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,947 INFO L290 TraceCheckUtils]: 84: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,947 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {16873#true} {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} #86#return; {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:30:09,947 INFO L272 TraceCheckUtils]: 86: Hoare triple {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,948 INFO L290 TraceCheckUtils]: 87: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,948 INFO L290 TraceCheckUtils]: 88: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,948 INFO L290 TraceCheckUtils]: 89: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,948 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {16873#true} {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} #88#return; {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:30:09,949 INFO L290 TraceCheckUtils]: 91: Hoare triple {17067#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~B~0 1) (= (* main_~B~0 8) 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); {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:30:09,949 INFO L290 TraceCheckUtils]: 92: Hoare triple {17015#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {17158#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:30:09,950 INFO L290 TraceCheckUtils]: 93: Hoare triple {17158#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} assume !false; {17158#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:30:09,950 INFO L272 TraceCheckUtils]: 94: Hoare triple {17158#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,950 INFO L290 TraceCheckUtils]: 95: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,950 INFO L290 TraceCheckUtils]: 96: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,950 INFO L290 TraceCheckUtils]: 97: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,951 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {16873#true} {17158#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #86#return; {17158#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:30:09,951 INFO L272 TraceCheckUtils]: 99: Hoare triple {17158#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,951 INFO L290 TraceCheckUtils]: 100: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,951 INFO L290 TraceCheckUtils]: 101: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,951 INFO L290 TraceCheckUtils]: 102: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,952 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {16873#true} {17158#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #88#return; {17158#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:30:09,953 INFO L290 TraceCheckUtils]: 104: Hoare triple {17158#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~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); {17195#(and (= main_~p~0 (div main_~q~0 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-28 13:30:09,954 INFO L290 TraceCheckUtils]: 105: Hoare triple {17195#(and (= main_~p~0 (div main_~q~0 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~d~0 (div (* main_~B~0 4) 2)))} assume !(~r~0 >= ~d~0); {17195#(and (= main_~p~0 (div main_~q~0 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-28 13:30:09,954 INFO L290 TraceCheckUtils]: 106: Hoare triple {17195#(and (= main_~p~0 (div main_~q~0 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~d~0 (div (* main_~B~0 4) 2)))} assume !false; {17195#(and (= main_~p~0 (div main_~q~0 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-28 13:30:09,954 INFO L272 TraceCheckUtils]: 107: Hoare triple {17195#(and (= main_~p~0 (div main_~q~0 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~d~0 (div (* main_~B~0 4) 2)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,954 INFO L290 TraceCheckUtils]: 108: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,954 INFO L290 TraceCheckUtils]: 109: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,954 INFO L290 TraceCheckUtils]: 110: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,955 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {16873#true} {17195#(and (= main_~p~0 (div main_~q~0 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~d~0 (div (* main_~B~0 4) 2)))} #86#return; {17195#(and (= main_~p~0 (div main_~q~0 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-28 13:30:09,955 INFO L272 TraceCheckUtils]: 112: Hoare triple {17195#(and (= main_~p~0 (div main_~q~0 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~d~0 (div (* main_~B~0 4) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:30:09,955 INFO L290 TraceCheckUtils]: 113: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:30:09,955 INFO L290 TraceCheckUtils]: 114: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:30:09,956 INFO L290 TraceCheckUtils]: 115: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:30:09,956 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {16873#true} {17195#(and (= main_~p~0 (div main_~q~0 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~d~0 (div (* main_~B~0 4) 2)))} #88#return; {17195#(and (= main_~p~0 (div main_~q~0 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-28 13:30:09,957 INFO L290 TraceCheckUtils]: 117: Hoare triple {17195#(and (= main_~p~0 (div main_~q~0 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~d~0 (div (* main_~B~0 4) 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); {17235#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~p~0 (div (div main_~q~0 2) 2)))} is VALID [2022-04-28 13:30:09,958 INFO L290 TraceCheckUtils]: 118: Hoare triple {17235#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (= (+ main_~A~0 (* main_~B~0 (- 4))) main_~r~0) (= main_~B~0 1) (= main_~q~0 4) (= main_~p~0 (div (div main_~q~0 2) 2)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {17239#(and (= (+ main_~q~0 (- 4)) 1) (= (+ main_~A~0 (* main_~B~0 (- 4))) (+ main_~r~0 (div (div (* main_~B~0 4) 2) 2))) (= main_~B~0 1))} is VALID [2022-04-28 13:30:09,958 INFO L290 TraceCheckUtils]: 119: Hoare triple {17239#(and (= (+ main_~q~0 (- 4)) 1) (= (+ main_~A~0 (* main_~B~0 (- 4))) (+ main_~r~0 (div (div (* main_~B~0 4) 2) 2))) (= main_~B~0 1))} assume !false; {17239#(and (= (+ main_~q~0 (- 4)) 1) (= (+ main_~A~0 (* main_~B~0 (- 4))) (+ main_~r~0 (div (div (* main_~B~0 4) 2) 2))) (= main_~B~0 1))} is VALID [2022-04-28 13:30:09,959 INFO L272 TraceCheckUtils]: 120: Hoare triple {17239#(and (= (+ main_~q~0 (- 4)) 1) (= (+ main_~A~0 (* main_~B~0 (- 4))) (+ main_~r~0 (div (div (* main_~B~0 4) 2) 2))) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {17246#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:30:09,960 INFO L290 TraceCheckUtils]: 121: Hoare triple {17246#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17250#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:30:09,960 INFO L290 TraceCheckUtils]: 122: Hoare triple {17250#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16874#false} is VALID [2022-04-28 13:30:09,960 INFO L290 TraceCheckUtils]: 123: Hoare triple {16874#false} assume !false; {16874#false} is VALID [2022-04-28 13:30:09,961 INFO L134 CoverageAnalysis]: Checked inductivity of 699 backedges. 36 proven. 51 refuted. 0 times theorem prover too weak. 612 trivial. 0 not checked. [2022-04-28 13:30:09,961 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:30:46,091 WARN L232 SmtUtils]: Spent 6.29s on a formula simplification that was a NOOP. DAG size: 429 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 13:32:18,385 INFO L290 TraceCheckUtils]: 123: Hoare triple {16874#false} assume !false; {16874#false} is VALID [2022-04-28 13:32:18,386 INFO L290 TraceCheckUtils]: 122: Hoare triple {17250#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16874#false} is VALID [2022-04-28 13:32:18,386 INFO L290 TraceCheckUtils]: 121: Hoare triple {17246#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17250#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:32:18,387 INFO L272 TraceCheckUtils]: 120: Hoare triple {17266#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {17246#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:32:18,387 INFO L290 TraceCheckUtils]: 119: Hoare triple {17266#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {17266#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:32:18,397 INFO L290 TraceCheckUtils]: 118: Hoare triple {17273#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {17266#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-28 13:32:18,417 INFO L290 TraceCheckUtils]: 117: Hoare triple {17277#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (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); {17273#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-28 13:32:18,418 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {16873#true} {17277#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #88#return; {17277#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:32:18,418 INFO L290 TraceCheckUtils]: 115: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:18,418 INFO L290 TraceCheckUtils]: 114: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:18,418 INFO L290 TraceCheckUtils]: 113: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:18,418 INFO L272 TraceCheckUtils]: 112: Hoare triple {17277#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:18,419 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {16873#true} {17277#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #86#return; {17277#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:32:18,419 INFO L290 TraceCheckUtils]: 110: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:18,419 INFO L290 TraceCheckUtils]: 109: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:18,419 INFO L290 TraceCheckUtils]: 108: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:18,419 INFO L272 TraceCheckUtils]: 107: Hoare triple {17277#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:18,420 INFO L290 TraceCheckUtils]: 106: Hoare triple {17277#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {17277#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:32:18,421 INFO L290 TraceCheckUtils]: 105: Hoare triple {17277#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !(~r~0 >= ~d~0); {17277#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:32:18,603 INFO L290 TraceCheckUtils]: 104: Hoare triple {17317#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~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); {17277#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-28 13:32:18,604 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {16873#true} {17317#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))))))))} #88#return; {17317#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))))))))} is VALID [2022-04-28 13:32:18,604 INFO L290 TraceCheckUtils]: 102: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:18,604 INFO L290 TraceCheckUtils]: 101: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:18,604 INFO L290 TraceCheckUtils]: 100: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:18,604 INFO L272 TraceCheckUtils]: 99: Hoare triple {17317#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:18,605 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {16873#true} {17317#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))))))))} #86#return; {17317#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))))))))} is VALID [2022-04-28 13:32:18,605 INFO L290 TraceCheckUtils]: 97: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:18,605 INFO L290 TraceCheckUtils]: 96: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:18,605 INFO L290 TraceCheckUtils]: 95: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:18,605 INFO L272 TraceCheckUtils]: 94: Hoare triple {17317#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:18,609 INFO L290 TraceCheckUtils]: 93: Hoare triple {17317#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))))))))} assume !false; {17317#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))))))))} is VALID [2022-04-28 13:32:18,762 INFO L290 TraceCheckUtils]: 92: Hoare triple {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {17317#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)))))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 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) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))))))))))} is VALID [2022-04-28 13:32:20,769 WARN L290 TraceCheckUtils]: 91: Hoare triple {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 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); {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is UNKNOWN [2022-04-28 13:32:20,771 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {16873#true} {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} #88#return; {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:20,771 INFO L290 TraceCheckUtils]: 89: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:20,771 INFO L290 TraceCheckUtils]: 88: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:20,771 INFO L290 TraceCheckUtils]: 87: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:20,772 INFO L272 TraceCheckUtils]: 86: Hoare triple {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:20,773 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {16873#true} {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} #86#return; {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:20,773 INFO L290 TraceCheckUtils]: 84: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:20,773 INFO L290 TraceCheckUtils]: 83: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:20,773 INFO L290 TraceCheckUtils]: 82: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:20,774 INFO L272 TraceCheckUtils]: 81: Hoare triple {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:20,787 INFO L290 TraceCheckUtils]: 80: Hoare triple {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} assume !false; {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:20,797 INFO L290 TraceCheckUtils]: 79: Hoare triple {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} assume !(~r~0 >= ~d~0); {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:20,799 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {16873#true} {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} #84#return; {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:20,799 INFO L290 TraceCheckUtils]: 77: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:20,799 INFO L290 TraceCheckUtils]: 76: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:20,799 INFO L290 TraceCheckUtils]: 75: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:20,800 INFO L272 TraceCheckUtils]: 74: Hoare triple {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:20,801 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {16873#true} {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} #82#return; {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:20,801 INFO L290 TraceCheckUtils]: 72: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:20,801 INFO L290 TraceCheckUtils]: 71: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:20,802 INFO L290 TraceCheckUtils]: 70: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:20,802 INFO L272 TraceCheckUtils]: 69: Hoare triple {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:20,804 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16873#true} {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} #80#return; {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:20,804 INFO L290 TraceCheckUtils]: 67: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:20,804 INFO L290 TraceCheckUtils]: 66: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:20,804 INFO L290 TraceCheckUtils]: 65: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:20,805 INFO L272 TraceCheckUtils]: 64: Hoare triple {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:20,821 INFO L290 TraceCheckUtils]: 63: Hoare triple {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} assume !false; {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:22,827 WARN L290 TraceCheckUtils]: 62: Hoare triple {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17358#(and (or (and (or (not (< main_~p~0 0)) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))))) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0)) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))))))) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))))) (or (= (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)))) (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)))) (not (< (div main_~p~0 2) 0))) (or (and (or (not (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0)) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0)))) (or (= (mod (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (+ (div main_~d~0 2) 1) 2) 1) 2)))))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0))) (or (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0) (and (or (= main_~A~0 (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (and (or (= (+ (- 2) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 2) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0)))) (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2)))) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (div (+ (div main_~d~0 2) 1) 2) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)))) (not (= (mod (div (+ (div main_~d~0 2) 1) 2) 2) 0)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (or (= (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (and (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (or (and (or (and (or (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)))) (or (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0) (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2)))) main_~A~0))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0)) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2) 1) main_~B~0)) main_~A~0) (not (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))) (or (= main_~A~0 (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div (+ (div main_~p~0 2) 1) 2) 1) 2) 0))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)))) (or (and (or (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 2 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (or (not (= (mod (div (+ (div main_~p~0 2) 1) 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (+ (div main_~p~0 2) 1) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)))))) (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0))))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (= (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (= (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1))) main_~A~0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div (div main_~d~0 2) 2) 0)) (= (mod (div (div main_~d~0 2) 2) 2) 0) (and (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)))) (not (< (div (div main_~p~0 2) 2) 0))))) (or (and (not (= (mod (div (div main_~d~0 2) 2) 2) 0)) (< (div (div main_~d~0 2) 2) 0)) (and (or (= (mod (div (div main_~p~0 2) 2) 2) 0) (= (+ (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2))) main_~A~0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) (* (div (div (div main_~d~0 2) 2) 2) (- 1)) main_~r~0 (* (- 1) (div main_~d~0 2))))))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (or (and (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= (+ (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0)) (or (= (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0))) (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2) 1)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))) (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (or (not (= (mod (+ (div (div main_~p~0 2) 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (div (+ (div (div main_~p~0 2) 2) 1) 2) main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))) (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0) (and (or (= (+ (- 1) (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0))) (or (= (+ (- 1) main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))))) (or (not (= (mod (+ (div (div main_~d~0 2) 2) 1) 2) 0)) (and (or (= (+ main_~r~0 (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2) 1) main_~B~0) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2))) main_~A~0) (= (mod (div (div main_~p~0 2) 2) 2) 0) (not (< (div (div main_~p~0 2) 2) 0))) (or (and (not (= (mod (div (div main_~p~0 2) 2) 2) 0)) (< (div (div main_~p~0 2) 2) 0)) (= main_~A~0 (+ (* (+ (div (div (div main_~p~0 2) 2) 2) main_~q~0 (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div (div main_~d~0 2) 2) 1) 2)))))))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} is UNKNOWN [2022-04-28 13:32:22,829 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16873#true} {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #84#return; {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:32:22,829 INFO L290 TraceCheckUtils]: 60: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:22,829 INFO L290 TraceCheckUtils]: 59: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:22,829 INFO L290 TraceCheckUtils]: 58: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:22,829 INFO L272 TraceCheckUtils]: 57: Hoare triple {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:22,830 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {16873#true} {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #82#return; {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:32:22,830 INFO L290 TraceCheckUtils]: 55: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:22,830 INFO L290 TraceCheckUtils]: 54: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:22,830 INFO L290 TraceCheckUtils]: 53: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:22,830 INFO L272 TraceCheckUtils]: 52: Hoare triple {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:22,831 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {16873#true} {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #80#return; {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:32:22,831 INFO L290 TraceCheckUtils]: 50: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:22,831 INFO L290 TraceCheckUtils]: 49: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:22,831 INFO L290 TraceCheckUtils]: 48: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:22,831 INFO L272 TraceCheckUtils]: 47: Hoare triple {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:22,835 INFO L290 TraceCheckUtils]: 46: Hoare triple {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !false; {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:32:22,949 INFO L290 TraceCheckUtils]: 45: Hoare triple {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17354#(and (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0)) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0))))) (= 0 (mod (+ (div main_~d~0 2) 1) 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)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)))) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2)) main_~B~0)) main_~A~0)) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (div main_~p~0 2) 2) 1) main_~B~0)) main_~A~0))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) main_~A~0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div (+ (div main_~p~0 2) 1) 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2))) main_~A~0))))) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 13:32:22,951 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {16873#true} {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} #84#return; {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:22,951 INFO L290 TraceCheckUtils]: 43: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:22,951 INFO L290 TraceCheckUtils]: 42: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:22,951 INFO L290 TraceCheckUtils]: 41: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:22,951 INFO L272 TraceCheckUtils]: 40: Hoare triple {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:22,952 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {16873#true} {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} #82#return; {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:22,952 INFO L290 TraceCheckUtils]: 38: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:22,952 INFO L290 TraceCheckUtils]: 37: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:22,952 INFO L290 TraceCheckUtils]: 36: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:22,952 INFO L272 TraceCheckUtils]: 35: Hoare triple {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:22,953 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {16873#true} {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} #80#return; {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:22,953 INFO L290 TraceCheckUtils]: 33: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:22,953 INFO L290 TraceCheckUtils]: 32: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:22,953 INFO L290 TraceCheckUtils]: 31: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:22,953 INFO L272 TraceCheckUtils]: 30: Hoare triple {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:22,954 INFO L290 TraceCheckUtils]: 29: Hoare triple {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} assume !false; {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:22,964 INFO L290 TraceCheckUtils]: 28: Hoare triple {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17497#(and (or (and (or (not (< main_~p~0 0)) (= (+ (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))) main_~A~0) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))))) (and (not (= (mod (div (* main_~d~0 2) 2) 2) 0)) (< main_~d~0 0))) (or (= (mod (div (* main_~d~0 2) 2) 2) 0) (not (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0) (= main_~A~0 (+ (- 1) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1))))) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ (* main_~p~0 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-28 13:32:22,965 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {16873#true} {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} #84#return; {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 13:32:22,965 INFO L290 TraceCheckUtils]: 26: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:22,965 INFO L290 TraceCheckUtils]: 25: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:22,965 INFO L290 TraceCheckUtils]: 24: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:22,965 INFO L272 TraceCheckUtils]: 23: Hoare triple {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:22,966 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16873#true} {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} #82#return; {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 13:32:22,966 INFO L290 TraceCheckUtils]: 21: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:22,966 INFO L290 TraceCheckUtils]: 20: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:22,966 INFO L290 TraceCheckUtils]: 19: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:22,966 INFO L272 TraceCheckUtils]: 18: Hoare triple {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:22,967 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {16873#true} {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} #80#return; {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 13:32:22,967 INFO L290 TraceCheckUtils]: 16: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:22,967 INFO L290 TraceCheckUtils]: 15: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:22,967 INFO L290 TraceCheckUtils]: 14: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:22,967 INFO L272 TraceCheckUtils]: 13: Hoare triple {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:22,967 INFO L290 TraceCheckUtils]: 12: Hoare triple {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} assume !false; {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 13:32:22,968 INFO L290 TraceCheckUtils]: 11: Hoare triple {16873#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {17549#(= (+ (* 5 main_~d~0) main_~A~0) (+ (* (* main_~B~0 main_~p~0) 5) (* main_~B~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 13:32:22,968 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16873#true} {16873#true} #78#return; {16873#true} is VALID [2022-04-28 13:32:22,968 INFO L290 TraceCheckUtils]: 9: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:22,968 INFO L290 TraceCheckUtils]: 8: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-28 13:32:22,968 INFO L290 TraceCheckUtils]: 7: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-28 13:32:22,968 INFO L272 TraceCheckUtils]: 6: Hoare triple {16873#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {16873#true} is VALID [2022-04-28 13:32:22,968 INFO L290 TraceCheckUtils]: 5: Hoare triple {16873#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {16873#true} is VALID [2022-04-28 13:32:22,969 INFO L272 TraceCheckUtils]: 4: Hoare triple {16873#true} call #t~ret5 := main(); {16873#true} is VALID [2022-04-28 13:32:22,969 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16873#true} {16873#true} #94#return; {16873#true} is VALID [2022-04-28 13:32:22,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-28 13:32:22,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {16873#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {16873#true} is VALID [2022-04-28 13:32:22,969 INFO L272 TraceCheckUtils]: 0: Hoare triple {16873#true} call ULTIMATE.init(); {16873#true} is VALID [2022-04-28 13:32:22,972 INFO L134 CoverageAnalysis]: Checked inductivity of 699 backedges. 36 proven. 51 refuted. 0 times theorem prover too weak. 612 trivial. 0 not checked. [2022-04-28 13:32:22,973 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:32:22,973 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1904791351] [2022-04-28 13:32:22,973 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:32:22,973 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [177818986] [2022-04-28 13:32:22,973 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [177818986] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:32:22,973 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:32:22,973 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 20 [2022-04-28 13:32:22,973 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:32:22,973 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2076682212] [2022-04-28 13:32:22,973 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2076682212] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:32:22,973 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:32:22,973 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 13:32:22,973 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1376271608] [2022-04-28 13:32:22,973 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:32:22,974 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) Word has length 124 [2022-04-28 13:32:22,974 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:32:22,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 13:32:23,069 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:32:23,069 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 13:32:23,069 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:32:23,069 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 13:32:23,070 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=283, Unknown=3, NotChecked=0, Total=380 [2022-04-28 13:32:23,070 INFO L87 Difference]: Start difference. First operand 116 states and 129 transitions. Second operand has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 13:32:25,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:32:25,299 INFO L93 Difference]: Finished difference Result 159 states and 183 transitions. [2022-04-28 13:32:25,299 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 13:32:25,299 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) Word has length 124 [2022-04-28 13:32:25,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:32:25,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 13:32:25,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-28 13:32:25,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 13:32:25,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-28 13:32:25,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 126 transitions. [2022-04-28 13:32:25,436 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:32:25,439 INFO L225 Difference]: With dead ends: 159 [2022-04-28 13:32:25,439 INFO L226 Difference]: Without dead ends: 127 [2022-04-28 13:32:25,439 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 248 GetRequests, 226 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 21.0s TimeCoverageRelationStatistics Valid=98, Invalid=319, Unknown=3, NotChecked=0, Total=420 [2022-04-28 13:32:25,440 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 11 mSDsluCounter, 245 mSDsCounter, 0 mSdLazyCounter, 672 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 302 SdHoareTripleChecker+Invalid, 695 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 672 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 13:32:25,440 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 302 Invalid, 695 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 672 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 13:32:25,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-04-28 13:32:25,654 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 125. [2022-04-28 13:32:25,654 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:32:25,654 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 125 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 80 states have internal predecessors, (84), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 13:32:25,655 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 125 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 80 states have internal predecessors, (84), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 13:32:25,655 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 125 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 80 states have internal predecessors, (84), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 13:32:25,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:32:25,657 INFO L93 Difference]: Finished difference Result 127 states and 139 transitions. [2022-04-28 13:32:25,657 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 139 transitions. [2022-04-28 13:32:25,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:32:25,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:32:25,658 INFO L74 IsIncluded]: Start isIncluded. First operand has 125 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 80 states have internal predecessors, (84), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) Second operand 127 states. [2022-04-28 13:32:25,658 INFO L87 Difference]: Start difference. First operand has 125 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 80 states have internal predecessors, (84), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) Second operand 127 states. [2022-04-28 13:32:25,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:32:25,660 INFO L93 Difference]: Finished difference Result 127 states and 139 transitions. [2022-04-28 13:32:25,661 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 139 transitions. [2022-04-28 13:32:25,661 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:32:25,661 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:32:25,661 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:32:25,661 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:32:25,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 79 states have (on average 1.0632911392405062) internal successors, (84), 80 states have internal predecessors, (84), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 13:32:25,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 136 transitions. [2022-04-28 13:32:25,664 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 136 transitions. Word has length 124 [2022-04-28 13:32:25,664 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:32:25,664 INFO L495 AbstractCegarLoop]: Abstraction has 125 states and 136 transitions. [2022-04-28 13:32:25,664 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 11 states have internal predecessors, (31), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 13:32:25,664 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 136 transitions. [2022-04-28 13:32:25,874 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:32:25,874 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 136 transitions. [2022-04-28 13:32:25,875 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-28 13:32:25,875 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:32:25,875 INFO L195 NwaCegarLoop]: trace histogram [21, 20, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:32:25,894 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 13:32:26,087 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 13:32:26,087 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:32:26,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:32:26,088 INFO L85 PathProgramCache]: Analyzing trace with hash 1372391770, now seen corresponding path program 3 times [2022-04-28 13:32:26,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:32:26,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [502608033] [2022-04-28 13:32:30,172 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:32:30,173 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:32:30,173 INFO L85 PathProgramCache]: Analyzing trace with hash 1372391770, now seen corresponding path program 4 times [2022-04-28 13:32:30,173 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:32:30,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1484157249] [2022-04-28 13:32:30,173 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:32:30,173 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:32:30,186 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:32:30,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1245930925] [2022-04-28 13:32:30,186 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:32:30,186 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:32:30,186 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:32:30,188 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:32:30,221 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 13:32:30,268 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:32:30,268 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:32:30,269 INFO L263 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-28 13:32:30,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:32:30,298 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:32:31,144 INFO L272 TraceCheckUtils]: 0: Hoare triple {18460#true} call ULTIMATE.init(); {18460#true} is VALID [2022-04-28 13:32:31,144 INFO L290 TraceCheckUtils]: 1: Hoare triple {18460#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {18460#true} is VALID [2022-04-28 13:32:31,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,144 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18460#true} {18460#true} #94#return; {18460#true} is VALID [2022-04-28 13:32:31,144 INFO L272 TraceCheckUtils]: 4: Hoare triple {18460#true} call #t~ret5 := main(); {18460#true} is VALID [2022-04-28 13:32:31,144 INFO L290 TraceCheckUtils]: 5: Hoare triple {18460#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {18460#true} is VALID [2022-04-28 13:32:31,144 INFO L272 TraceCheckUtils]: 6: Hoare triple {18460#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,144 INFO L290 TraceCheckUtils]: 7: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,144 INFO L290 TraceCheckUtils]: 8: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,144 INFO L290 TraceCheckUtils]: 9: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,144 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18460#true} {18460#true} #78#return; {18460#true} is VALID [2022-04-28 13:32:31,145 INFO L290 TraceCheckUtils]: 11: Hoare triple {18460#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:32:31,145 INFO L290 TraceCheckUtils]: 12: Hoare triple {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:32:31,145 INFO L272 TraceCheckUtils]: 13: Hoare triple {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,145 INFO L290 TraceCheckUtils]: 14: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,145 INFO L290 TraceCheckUtils]: 15: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,145 INFO L290 TraceCheckUtils]: 16: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,146 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {18460#true} {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #80#return; {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:32:31,146 INFO L272 TraceCheckUtils]: 18: Hoare triple {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,146 INFO L290 TraceCheckUtils]: 19: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,146 INFO L290 TraceCheckUtils]: 20: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,146 INFO L290 TraceCheckUtils]: 21: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,147 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {18460#true} {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:32:31,147 INFO L272 TraceCheckUtils]: 23: Hoare triple {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,147 INFO L290 TraceCheckUtils]: 24: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,147 INFO L290 TraceCheckUtils]: 25: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,147 INFO L290 TraceCheckUtils]: 26: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,147 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {18460#true} {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:32:31,148 INFO L290 TraceCheckUtils]: 28: Hoare triple {18498#(and (= main_~A~0 main_~r~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:32:31,148 INFO L290 TraceCheckUtils]: 29: Hoare triple {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} assume !false; {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:32:31,148 INFO L272 TraceCheckUtils]: 30: Hoare triple {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,148 INFO L290 TraceCheckUtils]: 31: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,148 INFO L290 TraceCheckUtils]: 32: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,148 INFO L290 TraceCheckUtils]: 33: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,149 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {18460#true} {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} #80#return; {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:32:31,149 INFO L272 TraceCheckUtils]: 35: Hoare triple {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,149 INFO L290 TraceCheckUtils]: 36: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,149 INFO L290 TraceCheckUtils]: 37: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,149 INFO L290 TraceCheckUtils]: 38: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,149 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {18460#true} {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} #82#return; {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:32:31,149 INFO L272 TraceCheckUtils]: 40: Hoare triple {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,149 INFO L290 TraceCheckUtils]: 41: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,150 INFO L290 TraceCheckUtils]: 42: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,150 INFO L290 TraceCheckUtils]: 43: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,150 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {18460#true} {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} #84#return; {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-28 13:32:31,150 INFO L290 TraceCheckUtils]: 45: Hoare triple {18550#(and (= main_~A~0 main_~r~0) (= main_~p~0 2) (= main_~d~0 2) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:32:31,151 INFO L290 TraceCheckUtils]: 46: Hoare triple {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:32:31,151 INFO L272 TraceCheckUtils]: 47: Hoare triple {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,151 INFO L290 TraceCheckUtils]: 48: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,151 INFO L290 TraceCheckUtils]: 49: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,151 INFO L290 TraceCheckUtils]: 50: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,151 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {18460#true} {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} #80#return; {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:32:31,152 INFO L272 TraceCheckUtils]: 52: Hoare triple {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,152 INFO L290 TraceCheckUtils]: 53: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,152 INFO L290 TraceCheckUtils]: 54: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,152 INFO L290 TraceCheckUtils]: 55: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,152 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {18460#true} {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:32:31,152 INFO L272 TraceCheckUtils]: 57: Hoare triple {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,152 INFO L290 TraceCheckUtils]: 58: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,152 INFO L290 TraceCheckUtils]: 59: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,152 INFO L290 TraceCheckUtils]: 60: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,153 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18460#true} {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:32:31,153 INFO L290 TraceCheckUtils]: 62: Hoare triple {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} is VALID [2022-04-28 13:32:31,154 INFO L290 TraceCheckUtils]: 63: Hoare triple {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} assume !false; {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} is VALID [2022-04-28 13:32:31,154 INFO L272 TraceCheckUtils]: 64: Hoare triple {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,154 INFO L290 TraceCheckUtils]: 65: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,154 INFO L290 TraceCheckUtils]: 66: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,154 INFO L290 TraceCheckUtils]: 67: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,154 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {18460#true} {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} #80#return; {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} is VALID [2022-04-28 13:32:31,154 INFO L272 TraceCheckUtils]: 69: Hoare triple {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,154 INFO L290 TraceCheckUtils]: 70: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,154 INFO L290 TraceCheckUtils]: 71: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,154 INFO L290 TraceCheckUtils]: 72: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,155 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {18460#true} {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} #82#return; {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} is VALID [2022-04-28 13:32:31,155 INFO L272 TraceCheckUtils]: 74: Hoare triple {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,155 INFO L290 TraceCheckUtils]: 75: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,155 INFO L290 TraceCheckUtils]: 76: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,155 INFO L290 TraceCheckUtils]: 77: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,156 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18460#true} {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} #84#return; {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} is VALID [2022-04-28 13:32:31,156 INFO L290 TraceCheckUtils]: 79: Hoare triple {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} assume !(~r~0 >= ~d~0); {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} is VALID [2022-04-28 13:32:31,156 INFO L290 TraceCheckUtils]: 80: Hoare triple {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} assume !false; {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} is VALID [2022-04-28 13:32:31,156 INFO L272 TraceCheckUtils]: 81: Hoare triple {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,156 INFO L290 TraceCheckUtils]: 82: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,157 INFO L290 TraceCheckUtils]: 83: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,157 INFO L290 TraceCheckUtils]: 84: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,157 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {18460#true} {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} #86#return; {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} is VALID [2022-04-28 13:32:31,157 INFO L272 TraceCheckUtils]: 86: Hoare triple {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,157 INFO L290 TraceCheckUtils]: 87: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,157 INFO L290 TraceCheckUtils]: 88: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,157 INFO L290 TraceCheckUtils]: 89: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,158 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {18460#true} {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} #88#return; {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} is VALID [2022-04-28 13:32:31,158 INFO L290 TraceCheckUtils]: 91: Hoare triple {18654#(and (= main_~A~0 main_~r~0) (= main_~p~0 8) (= main_~q~0 0) (= main_~d~0 8))} 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); {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:32:31,159 INFO L290 TraceCheckUtils]: 92: Hoare triple {18602#(and (= main_~A~0 main_~r~0) (= main_~d~0 4) (= main_~q~0 0) (= main_~p~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18745#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 4) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:32:31,159 INFO L290 TraceCheckUtils]: 93: Hoare triple {18745#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 4) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} assume !false; {18745#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 4) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:32:31,159 INFO L272 TraceCheckUtils]: 94: Hoare triple {18745#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 4) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,159 INFO L290 TraceCheckUtils]: 95: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,159 INFO L290 TraceCheckUtils]: 96: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,159 INFO L290 TraceCheckUtils]: 97: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,160 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {18460#true} {18745#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 4) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #86#return; {18745#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 4) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:32:31,160 INFO L272 TraceCheckUtils]: 99: Hoare triple {18745#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 4) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,160 INFO L290 TraceCheckUtils]: 100: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,160 INFO L290 TraceCheckUtils]: 101: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,160 INFO L290 TraceCheckUtils]: 102: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,160 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {18460#true} {18745#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 4) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #88#return; {18745#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 4) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-28 13:32:31,161 INFO L290 TraceCheckUtils]: 104: Hoare triple {18745#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 4) (= main_~p~0 4) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~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); {18782#(and (= main_~p~0 (div main_~q~0 2)) (= main_~r~0 (+ main_~A~0 (- 4))) (= main_~d~0 2) (= main_~q~0 4))} is VALID [2022-04-28 13:32:31,161 INFO L290 TraceCheckUtils]: 105: Hoare triple {18782#(and (= main_~p~0 (div main_~q~0 2)) (= main_~r~0 (+ main_~A~0 (- 4))) (= main_~d~0 2) (= main_~q~0 4))} assume !(~r~0 >= ~d~0); {18786#(and (= main_~p~0 (div main_~q~0 2)) (= main_~r~0 (+ main_~A~0 (- 4))) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 2) (= main_~q~0 4))} is VALID [2022-04-28 13:32:31,162 INFO L290 TraceCheckUtils]: 106: Hoare triple {18786#(and (= main_~p~0 (div main_~q~0 2)) (= main_~r~0 (+ main_~A~0 (- 4))) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 2) (= main_~q~0 4))} assume !false; {18786#(and (= main_~p~0 (div main_~q~0 2)) (= main_~r~0 (+ main_~A~0 (- 4))) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 2) (= main_~q~0 4))} is VALID [2022-04-28 13:32:31,162 INFO L272 TraceCheckUtils]: 107: Hoare triple {18786#(and (= main_~p~0 (div main_~q~0 2)) (= main_~r~0 (+ main_~A~0 (- 4))) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 2) (= main_~q~0 4))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,162 INFO L290 TraceCheckUtils]: 108: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,162 INFO L290 TraceCheckUtils]: 109: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,162 INFO L290 TraceCheckUtils]: 110: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,162 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {18460#true} {18786#(and (= main_~p~0 (div main_~q~0 2)) (= main_~r~0 (+ main_~A~0 (- 4))) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 2) (= main_~q~0 4))} #86#return; {18786#(and (= main_~p~0 (div main_~q~0 2)) (= main_~r~0 (+ main_~A~0 (- 4))) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 2) (= main_~q~0 4))} is VALID [2022-04-28 13:32:31,163 INFO L272 TraceCheckUtils]: 112: Hoare triple {18786#(and (= main_~p~0 (div main_~q~0 2)) (= main_~r~0 (+ main_~A~0 (- 4))) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 2) (= main_~q~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,163 INFO L290 TraceCheckUtils]: 113: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,163 INFO L290 TraceCheckUtils]: 114: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,163 INFO L290 TraceCheckUtils]: 115: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,163 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {18460#true} {18786#(and (= main_~p~0 (div main_~q~0 2)) (= main_~r~0 (+ main_~A~0 (- 4))) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 2) (= main_~q~0 4))} #88#return; {18786#(and (= main_~p~0 (div main_~q~0 2)) (= main_~r~0 (+ main_~A~0 (- 4))) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 2) (= main_~q~0 4))} is VALID [2022-04-28 13:32:31,164 INFO L290 TraceCheckUtils]: 117: Hoare triple {18786#(and (= main_~p~0 (div main_~q~0 2)) (= main_~r~0 (+ main_~A~0 (- 4))) (not (<= main_~d~0 main_~r~0)) (= main_~d~0 2) (= main_~q~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); {18823#(and (= main_~r~0 (+ main_~A~0 (- 4))) (= main_~d~0 1) (not (<= 2 main_~r~0)) (= main_~q~0 4) (= main_~p~0 (div (div main_~q~0 2) 2)))} is VALID [2022-04-28 13:32:31,165 INFO L290 TraceCheckUtils]: 118: Hoare triple {18823#(and (= main_~r~0 (+ main_~A~0 (- 4))) (= main_~d~0 1) (not (<= 2 main_~r~0)) (= main_~q~0 4) (= main_~p~0 (div (div main_~q~0 2) 2)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18827#(and (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0 (- 4))) (<= (+ main_~d~0 4) main_~A~0) (= (+ main_~p~0 4) main_~q~0) (not (<= 6 main_~A~0)) (= main_~d~0 1) (= main_~p~0 1))} is VALID [2022-04-28 13:32:31,165 INFO L290 TraceCheckUtils]: 119: Hoare triple {18827#(and (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0 (- 4))) (<= (+ main_~d~0 4) main_~A~0) (= (+ main_~p~0 4) main_~q~0) (not (<= 6 main_~A~0)) (= main_~d~0 1) (= main_~p~0 1))} assume !false; {18827#(and (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0 (- 4))) (<= (+ main_~d~0 4) main_~A~0) (= (+ main_~p~0 4) main_~q~0) (not (<= 6 main_~A~0)) (= main_~d~0 1) (= main_~p~0 1))} is VALID [2022-04-28 13:32:31,165 INFO L272 TraceCheckUtils]: 120: Hoare triple {18827#(and (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0 (- 4))) (<= (+ main_~d~0 4) main_~A~0) (= (+ main_~p~0 4) main_~q~0) (not (<= 6 main_~A~0)) (= main_~d~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,165 INFO L290 TraceCheckUtils]: 121: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,165 INFO L290 TraceCheckUtils]: 122: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,165 INFO L290 TraceCheckUtils]: 123: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,166 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {18460#true} {18827#(and (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0 (- 4))) (<= (+ main_~d~0 4) main_~A~0) (= (+ main_~p~0 4) main_~q~0) (not (<= 6 main_~A~0)) (= main_~d~0 1) (= main_~p~0 1))} #86#return; {18827#(and (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0 (- 4))) (<= (+ main_~d~0 4) main_~A~0) (= (+ main_~p~0 4) main_~q~0) (not (<= 6 main_~A~0)) (= main_~d~0 1) (= main_~p~0 1))} is VALID [2022-04-28 13:32:31,166 INFO L272 TraceCheckUtils]: 125: Hoare triple {18827#(and (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0 (- 4))) (<= (+ main_~d~0 4) main_~A~0) (= (+ main_~p~0 4) main_~q~0) (not (<= 6 main_~A~0)) (= main_~d~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18460#true} is VALID [2022-04-28 13:32:31,166 INFO L290 TraceCheckUtils]: 126: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-28 13:32:31,166 INFO L290 TraceCheckUtils]: 127: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-28 13:32:31,166 INFO L290 TraceCheckUtils]: 128: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-28 13:32:31,167 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {18460#true} {18827#(and (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0 (- 4))) (<= (+ main_~d~0 4) main_~A~0) (= (+ main_~p~0 4) main_~q~0) (not (<= 6 main_~A~0)) (= main_~d~0 1) (= main_~p~0 1))} #88#return; {18827#(and (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0 (- 4))) (<= (+ main_~d~0 4) main_~A~0) (= (+ main_~p~0 4) main_~q~0) (not (<= 6 main_~A~0)) (= main_~d~0 1) (= main_~p~0 1))} is VALID [2022-04-28 13:32:31,167 INFO L290 TraceCheckUtils]: 130: Hoare triple {18827#(and (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0 (- 4))) (<= (+ main_~d~0 4) main_~A~0) (= (+ main_~p~0 4) main_~q~0) (not (<= 6 main_~A~0)) (= main_~d~0 1) (= main_~p~0 1))} assume !(1 != ~p~0); {18864#(and (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0 (- 4))) (<= (+ main_~d~0 4) main_~A~0) (= (+ main_~q~0 (- 4)) 1) (not (<= 6 main_~A~0)) (= main_~d~0 1))} is VALID [2022-04-28 13:32:31,168 INFO L272 TraceCheckUtils]: 131: Hoare triple {18864#(and (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0 (- 4))) (<= (+ main_~d~0 4) main_~A~0) (= (+ main_~q~0 (- 4)) 1) (not (<= 6 main_~A~0)) (= main_~d~0 1))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18868#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:32:31,168 INFO L290 TraceCheckUtils]: 132: Hoare triple {18868#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:32:31,168 INFO L290 TraceCheckUtils]: 133: Hoare triple {18872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18461#false} is VALID [2022-04-28 13:32:31,168 INFO L290 TraceCheckUtils]: 134: Hoare triple {18461#false} assume !false; {18461#false} is VALID [2022-04-28 13:32:31,169 INFO L134 CoverageAnalysis]: Checked inductivity of 857 backedges. 40 proven. 57 refuted. 0 times theorem prover too weak. 760 trivial. 0 not checked. [2022-04-28 13:32:31,169 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:34:04,476 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:34:04,476 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1484157249] [2022-04-28 13:34:04,476 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:34:04,476 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1245930925] [2022-04-28 13:34:04,476 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1245930925] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 13:34:04,477 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 13:34:04,477 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2022-04-28 13:34:04,477 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:34:04,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [502608033] [2022-04-28 13:34:04,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [502608033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:34:04,477 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:34:04,477 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 13:34:04,477 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1215617317] [2022-04-28 13:34:04,477 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:34:04,477 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (24), 2 states have call predecessors, (24), 1 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) Word has length 135 [2022-04-28 13:34:04,478 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:34:04,478 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (24), 2 states have call predecessors, (24), 1 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-28 13:34:04,549 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:34:04,549 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 13:34:04,550 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:34:04,550 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 13:34:04,550 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=282, Unknown=0, NotChecked=0, Total=380 [2022-04-28 13:34:04,550 INFO L87 Difference]: Start difference. First operand 125 states and 136 transitions. Second operand has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (24), 2 states have call predecessors, (24), 1 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-28 13:34:06,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:34:06,179 INFO L93 Difference]: Finished difference Result 149 states and 161 transitions. [2022-04-28 13:34:06,179 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 13:34:06,179 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (24), 2 states have call predecessors, (24), 1 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) Word has length 135 [2022-04-28 13:34:06,179 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:34:06,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (24), 2 states have call predecessors, (24), 1 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-28 13:34:06,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-28 13:34:06,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (24), 2 states have call predecessors, (24), 1 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-28 13:34:06,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-28 13:34:06,183 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 101 transitions. [2022-04-28 13:34:06,318 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:34:06,320 INFO L225 Difference]: With dead ends: 149 [2022-04-28 13:34:06,320 INFO L226 Difference]: Without dead ends: 121 [2022-04-28 13:34:06,321 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 167 GetRequests, 147 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=102, Invalid=318, Unknown=0, NotChecked=0, Total=420 [2022-04-28 13:34:06,321 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 9 mSDsluCounter, 220 mSDsCounter, 0 mSdLazyCounter, 543 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 276 SdHoareTripleChecker+Invalid, 559 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 543 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 13:34:06,321 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 276 Invalid, 559 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 543 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 13:34:06,322 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-28 13:34:06,555 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 121. [2022-04-28 13:34:06,555 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:34:06,556 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 121 states, 77 states have (on average 1.0) internal successors, (77), 77 states have internal predecessors, (77), 25 states have call successors, (25), 20 states have call predecessors, (25), 18 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 13:34:06,557 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 121 states, 77 states have (on average 1.0) internal successors, (77), 77 states have internal predecessors, (77), 25 states have call successors, (25), 20 states have call predecessors, (25), 18 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 13:34:06,557 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 121 states, 77 states have (on average 1.0) internal successors, (77), 77 states have internal predecessors, (77), 25 states have call successors, (25), 20 states have call predecessors, (25), 18 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 13:34:06,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:34:06,559 INFO L93 Difference]: Finished difference Result 121 states and 125 transitions. [2022-04-28 13:34:06,559 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 125 transitions. [2022-04-28 13:34:06,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:34:06,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:34:06,560 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 77 states have (on average 1.0) internal successors, (77), 77 states have internal predecessors, (77), 25 states have call successors, (25), 20 states have call predecessors, (25), 18 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 121 states. [2022-04-28 13:34:06,560 INFO L87 Difference]: Start difference. First operand has 121 states, 77 states have (on average 1.0) internal successors, (77), 77 states have internal predecessors, (77), 25 states have call successors, (25), 20 states have call predecessors, (25), 18 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 121 states. [2022-04-28 13:34:06,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:34:06,563 INFO L93 Difference]: Finished difference Result 121 states and 125 transitions. [2022-04-28 13:34:06,563 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 125 transitions. [2022-04-28 13:34:06,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:34:06,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:34:06,564 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:34:06,564 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:34:06,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 77 states have (on average 1.0) internal successors, (77), 77 states have internal predecessors, (77), 25 states have call successors, (25), 20 states have call predecessors, (25), 18 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 13:34:06,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 125 transitions. [2022-04-28 13:34:06,568 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 125 transitions. Word has length 135 [2022-04-28 13:34:06,569 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:34:06,569 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 125 transitions. [2022-04-28 13:34:06,569 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (24), 2 states have call predecessors, (24), 1 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-28 13:34:06,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 125 transitions. [2022-04-28 13:34:06,745 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:34:06,746 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 125 transitions. [2022-04-28 13:34:06,746 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 141 [2022-04-28 13:34:06,746 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:34:06,746 INFO L195 NwaCegarLoop]: trace histogram [22, 21, 21, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:34:06,762 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 13:34:06,947 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:34:06,947 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:34:06,947 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:34:06,947 INFO L85 PathProgramCache]: Analyzing trace with hash -777337911, now seen corresponding path program 1 times [2022-04-28 13:34:06,947 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:34:06,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [444781316] [2022-04-28 13:34:09,182 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 13:34:09,182 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 13:34:09,182 INFO L85 PathProgramCache]: Analyzing trace with hash -777337911, now seen corresponding path program 2 times [2022-04-28 13:34:09,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:34:09,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1248347589] [2022-04-28 13:34:09,182 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:34:09,182 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:34:09,196 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:34:09,197 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [982795496] [2022-04-28 13:34:09,197 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:34:09,197 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:34:09,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:34:09,199 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 13:34:09,200 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 13:34:09,272 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:34:09,272 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:34:09,274 INFO L263 TraceCheckSpWp]: Trace formula consists of 312 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 13:34:09,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:34:09,298 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:34:09,957 INFO L272 TraceCheckUtils]: 0: Hoare triple {19764#true} call ULTIMATE.init(); {19764#true} is VALID [2022-04-28 13:34:09,957 INFO L290 TraceCheckUtils]: 1: Hoare triple {19764#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {19764#true} is VALID [2022-04-28 13:34:09,957 INFO L290 TraceCheckUtils]: 2: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19764#true} {19764#true} #94#return; {19764#true} is VALID [2022-04-28 13:34:09,958 INFO L272 TraceCheckUtils]: 4: Hoare triple {19764#true} call #t~ret5 := main(); {19764#true} is VALID [2022-04-28 13:34:09,958 INFO L290 TraceCheckUtils]: 5: Hoare triple {19764#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {19764#true} is VALID [2022-04-28 13:34:09,958 INFO L272 TraceCheckUtils]: 6: Hoare triple {19764#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,958 INFO L290 TraceCheckUtils]: 7: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,958 INFO L290 TraceCheckUtils]: 8: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,958 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19764#true} {19764#true} #78#return; {19764#true} is VALID [2022-04-28 13:34:09,958 INFO L290 TraceCheckUtils]: 11: Hoare triple {19764#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:09,959 INFO L290 TraceCheckUtils]: 12: Hoare triple {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} assume !false; {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:09,959 INFO L272 TraceCheckUtils]: 13: Hoare triple {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,959 INFO L290 TraceCheckUtils]: 14: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,959 INFO L290 TraceCheckUtils]: 15: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,959 INFO L290 TraceCheckUtils]: 16: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,959 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {19764#true} {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} #80#return; {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:09,959 INFO L272 TraceCheckUtils]: 18: Hoare triple {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,959 INFO L290 TraceCheckUtils]: 19: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,959 INFO L290 TraceCheckUtils]: 20: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,959 INFO L290 TraceCheckUtils]: 21: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,960 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {19764#true} {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} #82#return; {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:09,960 INFO L272 TraceCheckUtils]: 23: Hoare triple {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,960 INFO L290 TraceCheckUtils]: 24: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,960 INFO L290 TraceCheckUtils]: 25: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,960 INFO L290 TraceCheckUtils]: 26: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,960 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {19764#true} {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} #84#return; {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:09,961 INFO L290 TraceCheckUtils]: 28: Hoare triple {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-28 13:34:09,961 INFO L290 TraceCheckUtils]: 29: Hoare triple {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} assume !false; {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-28 13:34:09,961 INFO L272 TraceCheckUtils]: 30: Hoare triple {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,961 INFO L290 TraceCheckUtils]: 31: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,961 INFO L290 TraceCheckUtils]: 32: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,961 INFO L290 TraceCheckUtils]: 33: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,962 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {19764#true} {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} #80#return; {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-28 13:34:09,962 INFO L272 TraceCheckUtils]: 35: Hoare triple {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,962 INFO L290 TraceCheckUtils]: 36: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,962 INFO L290 TraceCheckUtils]: 37: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,962 INFO L290 TraceCheckUtils]: 38: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,967 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {19764#true} {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} #82#return; {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-28 13:34:09,967 INFO L272 TraceCheckUtils]: 40: Hoare triple {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,968 INFO L290 TraceCheckUtils]: 41: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,968 INFO L290 TraceCheckUtils]: 42: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,968 INFO L290 TraceCheckUtils]: 43: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,968 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {19764#true} {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} #84#return; {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-28 13:34:09,969 INFO L290 TraceCheckUtils]: 45: Hoare triple {19854#(and (= (* main_~B~0 2) main_~d~0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-28 13:34:09,969 INFO L290 TraceCheckUtils]: 46: Hoare triple {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} assume !false; {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-28 13:34:09,969 INFO L272 TraceCheckUtils]: 47: Hoare triple {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,969 INFO L290 TraceCheckUtils]: 48: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,969 INFO L290 TraceCheckUtils]: 49: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,970 INFO L290 TraceCheckUtils]: 50: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,970 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {19764#true} {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} #80#return; {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-28 13:34:09,970 INFO L272 TraceCheckUtils]: 52: Hoare triple {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,970 INFO L290 TraceCheckUtils]: 53: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,970 INFO L290 TraceCheckUtils]: 54: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,970 INFO L290 TraceCheckUtils]: 55: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,971 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {19764#true} {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} #82#return; {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-28 13:34:09,971 INFO L272 TraceCheckUtils]: 57: Hoare triple {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,971 INFO L290 TraceCheckUtils]: 58: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,971 INFO L290 TraceCheckUtils]: 59: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,971 INFO L290 TraceCheckUtils]: 60: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,972 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {19764#true} {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} #84#return; {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-28 13:34:09,973 INFO L290 TraceCheckUtils]: 62: Hoare triple {19906#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:34:09,973 INFO L290 TraceCheckUtils]: 63: Hoare triple {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} assume !false; {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:34:09,973 INFO L272 TraceCheckUtils]: 64: Hoare triple {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,974 INFO L290 TraceCheckUtils]: 65: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,974 INFO L290 TraceCheckUtils]: 66: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,974 INFO L290 TraceCheckUtils]: 67: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,974 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {19764#true} {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} #80#return; {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:34:09,974 INFO L272 TraceCheckUtils]: 69: Hoare triple {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,974 INFO L290 TraceCheckUtils]: 70: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,975 INFO L290 TraceCheckUtils]: 71: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,975 INFO L290 TraceCheckUtils]: 72: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,975 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {19764#true} {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} #82#return; {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:34:09,975 INFO L272 TraceCheckUtils]: 74: Hoare triple {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,975 INFO L290 TraceCheckUtils]: 75: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,975 INFO L290 TraceCheckUtils]: 76: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,976 INFO L290 TraceCheckUtils]: 77: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,976 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {19764#true} {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} #84#return; {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:34:09,977 INFO L290 TraceCheckUtils]: 79: Hoare triple {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} assume !(~r~0 >= ~d~0); {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:34:09,977 INFO L290 TraceCheckUtils]: 80: Hoare triple {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} assume !false; {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:34:09,977 INFO L272 TraceCheckUtils]: 81: Hoare triple {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,977 INFO L290 TraceCheckUtils]: 82: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,977 INFO L290 TraceCheckUtils]: 83: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,977 INFO L290 TraceCheckUtils]: 84: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,978 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {19764#true} {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} #86#return; {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:34:09,978 INFO L272 TraceCheckUtils]: 86: Hoare triple {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,978 INFO L290 TraceCheckUtils]: 87: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,978 INFO L290 TraceCheckUtils]: 88: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,978 INFO L290 TraceCheckUtils]: 89: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,979 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {19764#true} {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} #88#return; {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) main_~d~0))} is VALID [2022-04-28 13:34:09,979 INFO L290 TraceCheckUtils]: 91: Hoare triple {19958#(and (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1) (= (* main_~B~0 8) 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); {20046#(and (= (div (* main_~B~0 8) 2) main_~d~0) (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1))} is VALID [2022-04-28 13:34:09,981 INFO L290 TraceCheckUtils]: 92: Hoare triple {20046#(and (= (div (* main_~B~0 8) 2) main_~d~0) (<= (* main_~B~0 4) main_~r~0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20050#(and (= (div (* main_~B~0 8) 2) main_~d~0) (<= (* main_~B~0 4) (+ main_~d~0 main_~r~0)) (= main_~B~0 1))} is VALID [2022-04-28 13:34:09,981 INFO L290 TraceCheckUtils]: 93: Hoare triple {20050#(and (= (div (* main_~B~0 8) 2) main_~d~0) (<= (* main_~B~0 4) (+ main_~d~0 main_~r~0)) (= main_~B~0 1))} assume !false; {20050#(and (= (div (* main_~B~0 8) 2) main_~d~0) (<= (* main_~B~0 4) (+ main_~d~0 main_~r~0)) (= main_~B~0 1))} is VALID [2022-04-28 13:34:09,981 INFO L272 TraceCheckUtils]: 94: Hoare triple {20050#(and (= (div (* main_~B~0 8) 2) main_~d~0) (<= (* main_~B~0 4) (+ main_~d~0 main_~r~0)) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,981 INFO L290 TraceCheckUtils]: 95: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,981 INFO L290 TraceCheckUtils]: 96: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,981 INFO L290 TraceCheckUtils]: 97: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,982 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {19764#true} {20050#(and (= (div (* main_~B~0 8) 2) main_~d~0) (<= (* main_~B~0 4) (+ main_~d~0 main_~r~0)) (= main_~B~0 1))} #86#return; {20050#(and (= (div (* main_~B~0 8) 2) main_~d~0) (<= (* main_~B~0 4) (+ main_~d~0 main_~r~0)) (= main_~B~0 1))} is VALID [2022-04-28 13:34:09,982 INFO L272 TraceCheckUtils]: 99: Hoare triple {20050#(and (= (div (* main_~B~0 8) 2) main_~d~0) (<= (* main_~B~0 4) (+ main_~d~0 main_~r~0)) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,982 INFO L290 TraceCheckUtils]: 100: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,982 INFO L290 TraceCheckUtils]: 101: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,982 INFO L290 TraceCheckUtils]: 102: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,983 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {19764#true} {20050#(and (= (div (* main_~B~0 8) 2) main_~d~0) (<= (* main_~B~0 4) (+ main_~d~0 main_~r~0)) (= main_~B~0 1))} #88#return; {20050#(and (= (div (* main_~B~0 8) 2) main_~d~0) (<= (* main_~B~0 4) (+ main_~d~0 main_~r~0)) (= main_~B~0 1))} is VALID [2022-04-28 13:34:09,983 INFO L290 TraceCheckUtils]: 104: Hoare triple {20050#(and (= (div (* main_~B~0 8) 2) main_~d~0) (<= (* main_~B~0 4) (+ main_~d~0 main_~r~0)) (= main_~B~0 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); {20087#(and (<= 0 main_~r~0) (= main_~B~0 1) (= main_~d~0 (div (div (* main_~B~0 8) 2) 2)))} is VALID [2022-04-28 13:34:09,984 INFO L290 TraceCheckUtils]: 105: Hoare triple {20087#(and (<= 0 main_~r~0) (= main_~B~0 1) (= main_~d~0 (div (div (* main_~B~0 8) 2) 2)))} assume !(~r~0 >= ~d~0); {20091#(and (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (= main_~d~0 (div (div (* main_~B~0 8) 2) 2)))} is VALID [2022-04-28 13:34:09,984 INFO L290 TraceCheckUtils]: 106: Hoare triple {20091#(and (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (= main_~d~0 (div (div (* main_~B~0 8) 2) 2)))} assume !false; {20091#(and (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (= main_~d~0 (div (div (* main_~B~0 8) 2) 2)))} is VALID [2022-04-28 13:34:09,985 INFO L272 TraceCheckUtils]: 107: Hoare triple {20091#(and (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (= main_~d~0 (div (div (* main_~B~0 8) 2) 2)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,985 INFO L290 TraceCheckUtils]: 108: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,985 INFO L290 TraceCheckUtils]: 109: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,985 INFO L290 TraceCheckUtils]: 110: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,985 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {19764#true} {20091#(and (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (= main_~d~0 (div (div (* main_~B~0 8) 2) 2)))} #86#return; {20091#(and (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (= main_~d~0 (div (div (* main_~B~0 8) 2) 2)))} is VALID [2022-04-28 13:34:09,985 INFO L272 TraceCheckUtils]: 112: Hoare triple {20091#(and (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (= main_~d~0 (div (div (* main_~B~0 8) 2) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,986 INFO L290 TraceCheckUtils]: 113: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,986 INFO L290 TraceCheckUtils]: 114: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,986 INFO L290 TraceCheckUtils]: 115: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,986 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {19764#true} {20091#(and (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (= main_~d~0 (div (div (* main_~B~0 8) 2) 2)))} #88#return; {20091#(and (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (= main_~d~0 (div (div (* main_~B~0 8) 2) 2)))} is VALID [2022-04-28 13:34:09,987 INFO L290 TraceCheckUtils]: 117: Hoare triple {20091#(and (<= 0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (= main_~B~0 1) (= main_~d~0 (div (div (* main_~B~0 8) 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); {20128#(and (<= 0 main_~r~0) (not (<= (* main_~B~0 2) main_~r~0)) (= main_~B~0 1) (<= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:09,988 INFO L290 TraceCheckUtils]: 118: Hoare triple {20128#(and (<= 0 main_~r~0) (not (<= (* main_~B~0 2) main_~r~0)) (= main_~B~0 1) (<= main_~B~0 main_~d~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:09,988 INFO L290 TraceCheckUtils]: 119: Hoare triple {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} assume !false; {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:09,988 INFO L272 TraceCheckUtils]: 120: Hoare triple {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,988 INFO L290 TraceCheckUtils]: 121: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,989 INFO L290 TraceCheckUtils]: 122: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,989 INFO L290 TraceCheckUtils]: 123: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,989 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {19764#true} {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} #86#return; {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:09,989 INFO L272 TraceCheckUtils]: 125: Hoare triple {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,989 INFO L290 TraceCheckUtils]: 126: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,989 INFO L290 TraceCheckUtils]: 127: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,990 INFO L290 TraceCheckUtils]: 128: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,990 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {19764#true} {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} #88#return; {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:09,990 INFO L290 TraceCheckUtils]: 130: Hoare triple {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} assume !(1 != ~p~0); {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:09,990 INFO L272 TraceCheckUtils]: 131: Hoare triple {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:09,991 INFO L290 TraceCheckUtils]: 132: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:09,991 INFO L290 TraceCheckUtils]: 133: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:09,991 INFO L290 TraceCheckUtils]: 134: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:09,991 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {19764#true} {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} #90#return; {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:09,992 INFO L272 TraceCheckUtils]: 136: Hoare triple {19802#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {20186#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:34:09,992 INFO L290 TraceCheckUtils]: 137: Hoare triple {20186#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20190#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:34:09,992 INFO L290 TraceCheckUtils]: 138: Hoare triple {20190#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19765#false} is VALID [2022-04-28 13:34:09,992 INFO L290 TraceCheckUtils]: 139: Hoare triple {19765#false} assume !false; {19765#false} is VALID [2022-04-28 13:34:09,993 INFO L134 CoverageAnalysis]: Checked inductivity of 939 backedges. 42 proven. 57 refuted. 0 times theorem prover too weak. 840 trivial. 0 not checked. [2022-04-28 13:34:09,993 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:34:11,516 INFO L290 TraceCheckUtils]: 139: Hoare triple {19765#false} assume !false; {19765#false} is VALID [2022-04-28 13:34:11,517 INFO L290 TraceCheckUtils]: 138: Hoare triple {20190#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19765#false} is VALID [2022-04-28 13:34:11,517 INFO L290 TraceCheckUtils]: 137: Hoare triple {20186#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20190#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:34:11,518 INFO L272 TraceCheckUtils]: 136: Hoare triple {20206#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {20186#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:34:11,518 INFO L284 TraceCheckUtils]: 135: Hoare quadruple {19764#true} {20206#(= main_~B~0 main_~d~0)} #90#return; {20206#(= main_~B~0 main_~d~0)} is VALID [2022-04-28 13:34:11,518 INFO L290 TraceCheckUtils]: 134: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,518 INFO L290 TraceCheckUtils]: 133: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,518 INFO L290 TraceCheckUtils]: 132: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,518 INFO L272 TraceCheckUtils]: 131: Hoare triple {20206#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,519 INFO L290 TraceCheckUtils]: 130: Hoare triple {20206#(= main_~B~0 main_~d~0)} assume !(1 != ~p~0); {20206#(= main_~B~0 main_~d~0)} is VALID [2022-04-28 13:34:11,519 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {19764#true} {20206#(= main_~B~0 main_~d~0)} #88#return; {20206#(= main_~B~0 main_~d~0)} is VALID [2022-04-28 13:34:11,519 INFO L290 TraceCheckUtils]: 128: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,519 INFO L290 TraceCheckUtils]: 127: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,519 INFO L290 TraceCheckUtils]: 126: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,519 INFO L272 TraceCheckUtils]: 125: Hoare triple {20206#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,520 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {19764#true} {20206#(= main_~B~0 main_~d~0)} #86#return; {20206#(= main_~B~0 main_~d~0)} is VALID [2022-04-28 13:34:11,520 INFO L290 TraceCheckUtils]: 123: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,520 INFO L290 TraceCheckUtils]: 122: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,520 INFO L290 TraceCheckUtils]: 121: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,520 INFO L272 TraceCheckUtils]: 120: Hoare triple {20206#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,520 INFO L290 TraceCheckUtils]: 119: Hoare triple {20206#(= main_~B~0 main_~d~0)} assume !false; {20206#(= main_~B~0 main_~d~0)} is VALID [2022-04-28 13:34:11,521 INFO L290 TraceCheckUtils]: 118: Hoare triple {20261#(or (not (<= main_~d~0 main_~r~0)) (= main_~B~0 main_~d~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20206#(= main_~B~0 main_~d~0)} is VALID [2022-04-28 13:34:11,523 INFO L290 TraceCheckUtils]: 117: Hoare triple {20265#(and (or (< main_~r~0 (+ (div main_~d~0 2) 1)) (<= main_~B~0 (+ (div main_~d~0 2) 1))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (+ (div main_~d~0 2) 1))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (<= main_~B~0 (div main_~d~0 2)) (< main_~r~0 (div main_~d~0 2))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (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); {20261#(or (not (<= main_~d~0 main_~r~0)) (= main_~B~0 main_~d~0))} is VALID [2022-04-28 13:34:11,523 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {19764#true} {20265#(and (or (< main_~r~0 (+ (div main_~d~0 2) 1)) (<= main_~B~0 (+ (div main_~d~0 2) 1))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (+ (div main_~d~0 2) 1))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (<= main_~B~0 (div main_~d~0 2)) (< main_~r~0 (div main_~d~0 2))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div main_~d~0 2))))))} #88#return; {20265#(and (or (< main_~r~0 (+ (div main_~d~0 2) 1)) (<= main_~B~0 (+ (div main_~d~0 2) 1))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (+ (div main_~d~0 2) 1))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (<= main_~B~0 (div main_~d~0 2)) (< main_~r~0 (div main_~d~0 2))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div main_~d~0 2))))))} is VALID [2022-04-28 13:34:11,523 INFO L290 TraceCheckUtils]: 115: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,523 INFO L290 TraceCheckUtils]: 114: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,523 INFO L290 TraceCheckUtils]: 113: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,523 INFO L272 TraceCheckUtils]: 112: Hoare triple {20265#(and (or (< main_~r~0 (+ (div main_~d~0 2) 1)) (<= main_~B~0 (+ (div main_~d~0 2) 1))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (+ (div main_~d~0 2) 1))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (<= main_~B~0 (div main_~d~0 2)) (< main_~r~0 (div main_~d~0 2))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,524 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {19764#true} {20265#(and (or (< main_~r~0 (+ (div main_~d~0 2) 1)) (<= main_~B~0 (+ (div main_~d~0 2) 1))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (+ (div main_~d~0 2) 1))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (<= main_~B~0 (div main_~d~0 2)) (< main_~r~0 (div main_~d~0 2))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div main_~d~0 2))))))} #86#return; {20265#(and (or (< main_~r~0 (+ (div main_~d~0 2) 1)) (<= main_~B~0 (+ (div main_~d~0 2) 1))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (+ (div main_~d~0 2) 1))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (<= main_~B~0 (div main_~d~0 2)) (< main_~r~0 (div main_~d~0 2))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div main_~d~0 2))))))} is VALID [2022-04-28 13:34:11,524 INFO L290 TraceCheckUtils]: 110: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,524 INFO L290 TraceCheckUtils]: 109: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,524 INFO L290 TraceCheckUtils]: 108: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,524 INFO L272 TraceCheckUtils]: 107: Hoare triple {20265#(and (or (< main_~r~0 (+ (div main_~d~0 2) 1)) (<= main_~B~0 (+ (div main_~d~0 2) 1))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (+ (div main_~d~0 2) 1))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (<= main_~B~0 (div main_~d~0 2)) (< main_~r~0 (div main_~d~0 2))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,525 INFO L290 TraceCheckUtils]: 106: Hoare triple {20265#(and (or (< main_~r~0 (+ (div main_~d~0 2) 1)) (<= main_~B~0 (+ (div main_~d~0 2) 1))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (+ (div main_~d~0 2) 1))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (<= main_~B~0 (div main_~d~0 2)) (< main_~r~0 (div main_~d~0 2))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div main_~d~0 2))))))} assume !false; {20265#(and (or (< main_~r~0 (+ (div main_~d~0 2) 1)) (<= main_~B~0 (+ (div main_~d~0 2) 1))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (+ (div main_~d~0 2) 1))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (<= main_~B~0 (div main_~d~0 2)) (< main_~r~0 (div main_~d~0 2))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div main_~d~0 2))))))} is VALID [2022-04-28 13:34:11,526 INFO L290 TraceCheckUtils]: 105: Hoare triple {20302#(or (and (or (<= main_~B~0 (div main_~d~0 2)) (< main_~r~0 (div main_~d~0 2))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div main_~d~0 2)))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {20265#(and (or (< main_~r~0 (+ (div main_~d~0 2) 1)) (<= main_~B~0 (+ (div main_~d~0 2) 1))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (+ (div main_~d~0 2) 1))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (<= main_~B~0 (div main_~d~0 2)) (< main_~r~0 (div main_~d~0 2))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div main_~d~0 2))))))} is VALID [2022-04-28 13:34:11,528 INFO L290 TraceCheckUtils]: 104: Hoare triple {20306#(or (and (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div (div main_~d~0 2) 2))) (or (< main_~r~0 (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2)))) (<= (div main_~d~0 2) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20302#(or (and (or (<= main_~B~0 (div main_~d~0 2)) (< main_~r~0 (div main_~d~0 2))) (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div main_~d~0 2)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:34:11,528 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {19764#true} {20306#(or (and (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div (div main_~d~0 2) 2))) (or (< main_~r~0 (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2)))) (<= (div main_~d~0 2) main_~r~0))} #88#return; {20306#(or (and (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div (div main_~d~0 2) 2))) (or (< main_~r~0 (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2)))) (<= (div main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:34:11,528 INFO L290 TraceCheckUtils]: 102: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,528 INFO L290 TraceCheckUtils]: 101: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,528 INFO L290 TraceCheckUtils]: 100: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,528 INFO L272 TraceCheckUtils]: 99: Hoare triple {20306#(or (and (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div (div main_~d~0 2) 2))) (or (< main_~r~0 (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2)))) (<= (div main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,529 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {19764#true} {20306#(or (and (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div (div main_~d~0 2) 2))) (or (< main_~r~0 (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2)))) (<= (div main_~d~0 2) main_~r~0))} #86#return; {20306#(or (and (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div (div main_~d~0 2) 2))) (or (< main_~r~0 (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2)))) (<= (div main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:34:11,529 INFO L290 TraceCheckUtils]: 97: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,529 INFO L290 TraceCheckUtils]: 96: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,529 INFO L290 TraceCheckUtils]: 95: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,529 INFO L272 TraceCheckUtils]: 94: Hoare triple {20306#(or (and (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div (div main_~d~0 2) 2))) (or (< main_~r~0 (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2)))) (<= (div main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,530 INFO L290 TraceCheckUtils]: 93: Hoare triple {20306#(or (and (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div (div main_~d~0 2) 2))) (or (< main_~r~0 (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2)))) (<= (div main_~d~0 2) main_~r~0))} assume !false; {20306#(or (and (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div (div main_~d~0 2) 2))) (or (< main_~r~0 (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2)))) (<= (div main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:34:11,531 INFO L290 TraceCheckUtils]: 92: Hoare triple {20343#(and (or (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20306#(or (and (or (<= main_~r~0 main_~B~0) (< main_~r~0 (div (div main_~d~0 2) 2))) (or (< main_~r~0 (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2)))) (<= (div main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:34:11,532 INFO L290 TraceCheckUtils]: 91: Hoare triple {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~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); {20343#(and (or (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} is VALID [2022-04-28 13:34:11,533 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {19764#true} {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} #88#return; {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} is VALID [2022-04-28 13:34:11,533 INFO L290 TraceCheckUtils]: 89: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,533 INFO L290 TraceCheckUtils]: 88: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,533 INFO L290 TraceCheckUtils]: 87: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,533 INFO L272 TraceCheckUtils]: 86: Hoare triple {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,534 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {19764#true} {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} #86#return; {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} is VALID [2022-04-28 13:34:11,534 INFO L290 TraceCheckUtils]: 84: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,534 INFO L290 TraceCheckUtils]: 83: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,534 INFO L290 TraceCheckUtils]: 82: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,534 INFO L272 TraceCheckUtils]: 81: Hoare triple {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,534 INFO L290 TraceCheckUtils]: 80: Hoare triple {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} assume !false; {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} is VALID [2022-04-28 13:34:11,535 INFO L290 TraceCheckUtils]: 79: Hoare triple {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} assume !(~r~0 >= ~d~0); {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} is VALID [2022-04-28 13:34:11,535 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {19764#true} {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} #84#return; {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} is VALID [2022-04-28 13:34:11,535 INFO L290 TraceCheckUtils]: 77: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,535 INFO L290 TraceCheckUtils]: 76: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,535 INFO L290 TraceCheckUtils]: 75: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,535 INFO L272 TraceCheckUtils]: 74: Hoare triple {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,536 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {19764#true} {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} #82#return; {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} is VALID [2022-04-28 13:34:11,536 INFO L290 TraceCheckUtils]: 72: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,536 INFO L290 TraceCheckUtils]: 71: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,536 INFO L290 TraceCheckUtils]: 70: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,536 INFO L272 TraceCheckUtils]: 69: Hoare triple {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,536 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {19764#true} {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} #80#return; {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} is VALID [2022-04-28 13:34:11,536 INFO L290 TraceCheckUtils]: 67: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,537 INFO L290 TraceCheckUtils]: 66: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,537 INFO L290 TraceCheckUtils]: 65: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,537 INFO L272 TraceCheckUtils]: 64: Hoare triple {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,537 INFO L290 TraceCheckUtils]: 63: Hoare triple {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} assume !false; {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} is VALID [2022-04-28 13:34:11,538 INFO L290 TraceCheckUtils]: 62: Hoare triple {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20347#(and (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (+ main_~B~0 1))) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (<= main_~B~0 (div (div (div main_~d~0 2) 2) 2)) (<= (div (div main_~d~0 2) 2) (div (div (div main_~d~0 2) 2) 2))))} is VALID [2022-04-28 13:34:11,539 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {19764#true} {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} #84#return; {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} is VALID [2022-04-28 13:34:11,539 INFO L290 TraceCheckUtils]: 60: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,539 INFO L290 TraceCheckUtils]: 59: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,539 INFO L290 TraceCheckUtils]: 58: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,539 INFO L272 TraceCheckUtils]: 57: Hoare triple {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,540 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {19764#true} {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} #82#return; {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} is VALID [2022-04-28 13:34:11,540 INFO L290 TraceCheckUtils]: 55: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,540 INFO L290 TraceCheckUtils]: 54: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,540 INFO L290 TraceCheckUtils]: 53: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,540 INFO L272 TraceCheckUtils]: 52: Hoare triple {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,542 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {19764#true} {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} #80#return; {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} is VALID [2022-04-28 13:34:11,542 INFO L290 TraceCheckUtils]: 50: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,542 INFO L290 TraceCheckUtils]: 49: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,542 INFO L290 TraceCheckUtils]: 48: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,542 INFO L272 TraceCheckUtils]: 47: Hoare triple {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,543 INFO L290 TraceCheckUtils]: 46: Hoare triple {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} assume !false; {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} is VALID [2022-04-28 13:34:11,544 INFO L290 TraceCheckUtils]: 45: Hoare triple {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20435#(and (or (<= (div main_~d~0 2) (div (div main_~d~0 2) 2)) (<= main_~B~0 (div (div main_~d~0 2) 2))) (or (<= (div main_~d~0 2) (+ main_~B~0 1)) (<= (div main_~d~0 2) (div (div main_~d~0 2) 2))))} is VALID [2022-04-28 13:34:11,544 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {19764#true} {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} #84#return; {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} is VALID [2022-04-28 13:34:11,544 INFO L290 TraceCheckUtils]: 43: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,544 INFO L290 TraceCheckUtils]: 42: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,544 INFO L290 TraceCheckUtils]: 41: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,544 INFO L272 TraceCheckUtils]: 40: Hoare triple {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,545 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {19764#true} {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} #82#return; {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} is VALID [2022-04-28 13:34:11,545 INFO L290 TraceCheckUtils]: 38: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,545 INFO L290 TraceCheckUtils]: 37: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,545 INFO L290 TraceCheckUtils]: 36: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,545 INFO L272 TraceCheckUtils]: 35: Hoare triple {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,545 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {19764#true} {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} #80#return; {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} is VALID [2022-04-28 13:34:11,546 INFO L290 TraceCheckUtils]: 33: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,546 INFO L290 TraceCheckUtils]: 32: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,546 INFO L290 TraceCheckUtils]: 31: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,546 INFO L272 TraceCheckUtils]: 30: Hoare triple {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,547 INFO L290 TraceCheckUtils]: 29: Hoare triple {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} assume !false; {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} is VALID [2022-04-28 13:34:11,548 INFO L290 TraceCheckUtils]: 28: Hoare triple {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20487#(and (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~B~0 (div main_~d~0 2))) (or (<= main_~d~0 (div main_~d~0 2)) (<= main_~d~0 (+ main_~B~0 1))))} is VALID [2022-04-28 13:34:11,548 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {19764#true} {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} #84#return; {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} is VALID [2022-04-28 13:34:11,548 INFO L290 TraceCheckUtils]: 26: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,548 INFO L290 TraceCheckUtils]: 25: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,548 INFO L290 TraceCheckUtils]: 24: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,548 INFO L272 TraceCheckUtils]: 23: Hoare triple {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,549 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {19764#true} {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} #82#return; {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} is VALID [2022-04-28 13:34:11,549 INFO L290 TraceCheckUtils]: 21: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,549 INFO L290 TraceCheckUtils]: 20: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,549 INFO L290 TraceCheckUtils]: 19: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,549 INFO L272 TraceCheckUtils]: 18: Hoare triple {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,549 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {19764#true} {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} #80#return; {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} is VALID [2022-04-28 13:34:11,549 INFO L290 TraceCheckUtils]: 16: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,549 INFO L290 TraceCheckUtils]: 15: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,549 INFO L290 TraceCheckUtils]: 14: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,550 INFO L272 TraceCheckUtils]: 13: Hoare triple {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,550 INFO L290 TraceCheckUtils]: 12: Hoare triple {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} assume !false; {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} is VALID [2022-04-28 13:34:11,550 INFO L290 TraceCheckUtils]: 11: Hoare triple {19764#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {20539#(and (or (<= (* main_~d~0 2) (+ main_~B~0 1)) (<= main_~d~0 0)) (or (<= main_~d~0 0) (<= main_~B~0 main_~d~0)))} is VALID [2022-04-28 13:34:11,551 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19764#true} {19764#true} #78#return; {19764#true} is VALID [2022-04-28 13:34:11,551 INFO L290 TraceCheckUtils]: 9: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,551 INFO L290 TraceCheckUtils]: 8: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-28 13:34:11,551 INFO L290 TraceCheckUtils]: 7: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-28 13:34:11,551 INFO L272 TraceCheckUtils]: 6: Hoare triple {19764#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 5 then 1 else 0)); {19764#true} is VALID [2022-04-28 13:34:11,551 INFO L290 TraceCheckUtils]: 5: Hoare triple {19764#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {19764#true} is VALID [2022-04-28 13:34:11,551 INFO L272 TraceCheckUtils]: 4: Hoare triple {19764#true} call #t~ret5 := main(); {19764#true} is VALID [2022-04-28 13:34:11,551 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19764#true} {19764#true} #94#return; {19764#true} is VALID [2022-04-28 13:34:11,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-28 13:34:11,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {19764#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(8, 2);call #Ultimate.allocInit(12, 3); {19764#true} is VALID [2022-04-28 13:34:11,551 INFO L272 TraceCheckUtils]: 0: Hoare triple {19764#true} call ULTIMATE.init(); {19764#true} is VALID [2022-04-28 13:34:11,552 INFO L134 CoverageAnalysis]: Checked inductivity of 939 backedges. 42 proven. 57 refuted. 0 times theorem prover too weak. 840 trivial. 0 not checked. [2022-04-28 13:34:11,552 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:34:11,552 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1248347589] [2022-04-28 13:34:11,552 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:34:11,552 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [982795496] [2022-04-28 13:34:11,552 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [982795496] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:34:11,552 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:34:11,552 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 23 [2022-04-28 13:34:11,552 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:34:11,552 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [444781316] [2022-04-28 13:34:11,552 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [444781316] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:34:11,552 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:34:11,552 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 13:34:11,552 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2030081165] [2022-04-28 13:34:11,552 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:34:11,553 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (25), 2 states have call predecessors, (25), 1 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) Word has length 140 [2022-04-28 13:34:11,553 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:34:11,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (25), 2 states have call predecessors, (25), 1 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 13:34:11,622 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:34:11,622 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 13:34:11,622 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:34:11,622 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 13:34:11,623 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=413, Unknown=0, NotChecked=0, Total=506 [2022-04-28 13:34:11,623 INFO L87 Difference]: Start difference. First operand 121 states and 125 transitions. Second operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (25), 2 states have call predecessors, (25), 1 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 13:34:12,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:34:12,823 INFO L93 Difference]: Finished difference Result 121 states and 125 transitions. [2022-04-28 13:34:12,823 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 13:34:12,823 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (25), 2 states have call predecessors, (25), 1 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) Word has length 140 [2022-04-28 13:34:12,824 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:34:12,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (25), 2 states have call predecessors, (25), 1 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 13:34:12,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 80 transitions. [2022-04-28 13:34:12,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (25), 2 states have call predecessors, (25), 1 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 13:34:12,839 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 80 transitions. [2022-04-28 13:34:12,839 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 80 transitions. [2022-04-28 13:34:12,927 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:34:12,928 INFO L225 Difference]: With dead ends: 121 [2022-04-28 13:34:12,928 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 13:34:12,928 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 281 GetRequests, 256 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 144 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=108, Invalid=492, Unknown=0, NotChecked=0, Total=600 [2022-04-28 13:34:12,929 INFO L413 NwaCegarLoop]: 67 mSDtfsCounter, 9 mSDsluCounter, 264 mSDsCounter, 0 mSdLazyCounter, 389 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 331 SdHoareTripleChecker+Invalid, 407 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 389 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 13:34:12,929 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 331 Invalid, 407 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 389 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 13:34:12,929 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 13:34:12,929 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 13:34:12,930 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:34:12,930 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 13:34:12,930 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 13:34:12,930 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 13:34:12,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:34:12,930 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 13:34:12,930 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 13:34:12,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:34:12,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:34:12,930 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 13:34:12,930 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 13:34:12,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:34:12,930 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 13:34:12,930 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 13:34:12,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:34:12,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:34:12,931 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:34:12,931 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:34:12,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 13:34:12,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 13:34:12,931 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 140 [2022-04-28 13:34:12,931 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:34:12,931 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 13:34:12,931 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 12 states have internal predecessors, (32), 7 states have call successors, (25), 2 states have call predecessors, (25), 1 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 13:34:12,931 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 13:34:12,931 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:34:12,931 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 13:34:12,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:34:12,934 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 13:34:12,962 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 13:34:13,147 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:34:13,149 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 13:34:19,499 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-28 13:34:19,499 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-28 13:34:19,499 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-28 13:34:19,500 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-28 13:34:19,500 INFO L895 garLoopResultBuilder]: At program point L12(line 12) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 13:34:19,500 INFO L895 garLoopResultBuilder]: At program point L12-2(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 13:34:19,500 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 13:34:19,500 INFO L895 garLoopResultBuilder]: At program point L58(line 58) the Hoare annotation is: (and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1)) [2022-04-28 13:34:19,500 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 22 61) the Hoare annotation is: true [2022-04-28 13:34:19,500 INFO L895 garLoopResultBuilder]: At program point L52(lines 52 55) the Hoare annotation is: (let ((.cse15 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2))) (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse3 (= main_~B~0 main_~d~0)) (.cse12 (* main_~B~0 2)) (.cse4 (= main_~p~0 1)) (.cse7 (<= 0 .cse15)) (.cse8 (= (* main_~B~0 main_~p~0) main_~d~0)) (.cse9 (<= 0 main_~r~0)) (.cse10 (< .cse15 2)) (.cse14 (= main_~d~0 2)) (.cse2 (= main_~B~0 1)) (.cse11 (= main_~q~0 4)) (.cse6 (<= main_~A~0 5))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (let ((.cse5 (* main_~B~0 4))) (and .cse0 (<= .cse5 main_~r~0) .cse1 .cse2 (= main_~d~0 .cse5) (= main_~p~0 4) .cse6)) (and .cse7 .cse8 .cse9 .cse10 .cse2 .cse11 (< main_~r~0 .cse12) .cse3) (let ((.cse13 (* (div (+ (* (- 1) main_~B~0 main_~p~0) main_~d~0) main_~B~0) 2))) (and .cse0 (< main_~d~0 (+ main_~r~0 1)) (< .cse13 2) .cse14 (<= 0 .cse13) .cse1 .cse2)) (and (= main_~q~0 2) .cse2 .cse3 (= main_~A~0 (+ .cse12 main_~r~0)) .cse4) (and .cse7 .cse8 .cse9 .cse10 .cse14 .cse2 .cse11 .cse6)))) [2022-04-28 13:34:19,500 INFO L895 garLoopResultBuilder]: At program point L52-2(lines 22 61) the Hoare annotation is: (let ((.cse17 (+ main_~d~0 main_~r~0)) (.cse18 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2))) (let ((.cse6 (= main_~p~0 2)) (.cse3 (= main_~B~0 main_~d~0)) (.cse5 (* main_~B~0 2)) (.cse4 (= main_~p~0 1)) (.cse7 (<= 0 main_~r~0)) (.cse8 (= main_~d~0 2)) (.cse13 (= main_~q~0 4)) (.cse10 (<= 0 .cse18)) (.cse11 (= (* main_~B~0 main_~p~0) main_~d~0)) (.cse12 (< .cse18 2)) (.cse9 (= .cse17 main_~A~0)) (.cse2 (= main_~B~0 1)) (.cse16 (= main_~p~0 4)) (.cse0 (= main_~A~0 main_~r~0)) (.cse15 (* main_~B~0 4)) (.cse1 (= main_~q~0 0)) (.cse14 (<= main_~A~0 5))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= .cse5 main_~d~0) .cse6 .cse1 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse3 .cse4) (and (= (+ main_~p~0 4) main_~q~0) .cse7 (not (<= 6 main_~A~0)) (= main_~A~0 (+ main_~d~0 main_~r~0 4)) .cse2 .cse3 .cse4) (and (= main_~q~0 main_~p~0) .cse6 .cse8 .cse9 .cse2) (and (= main_~q~0 3) (= main_~A~0 (+ main_~r~0 (* main_~B~0 3))) (= main_~A~0 (+ main_~d~0 main_~r~0 2)) .cse3 .cse4) (and .cse10 .cse11 (<= 0 main_~A~0) .cse12 .cse2 .cse13 .cse3 .cse14) (and (= main_~q~0 2) .cse2 .cse3 (= main_~A~0 (+ .cse5 main_~r~0)) .cse4) (and .cse0 (<= (div main_~d~0 2) main_~r~0) .cse1 .cse2 (= main_~d~0 .cse15) .cse16) (and .cse10 .cse11 .cse7 .cse12 .cse8 .cse2 .cse13 .cse14) (and .cse10 .cse11 (<= .cse15 .cse17) .cse12 .cse9 .cse2 .cse16 .cse14) (and .cse0 (= main_~p~0 8) (<= .cse15 main_~r~0) .cse1 (= (* main_~B~0 8) main_~d~0) (= main_~d~0 8) .cse14)))) [2022-04-28 13:34:19,500 INFO L895 garLoopResultBuilder]: At program point L46(lines 44 56) the Hoare annotation is: (let ((.cse15 (* (- 1) main_~r~0))) (let ((.cse18 (+ main_~d~0 main_~r~0)) (.cse19 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 .cse15) main_~B~0) 2))) (let ((.cse6 (= main_~p~0 2)) (.cse3 (= main_~B~0 main_~d~0)) (.cse5 (* main_~B~0 2)) (.cse4 (= main_~p~0 1)) (.cse7 (<= 0 main_~r~0)) (.cse8 (= main_~d~0 2)) (.cse13 (= main_~q~0 4)) (.cse10 (<= 0 .cse19)) (.cse11 (= (* main_~B~0 main_~p~0) main_~d~0)) (.cse12 (< .cse19 2)) (.cse9 (= .cse18 main_~A~0)) (.cse2 (= main_~B~0 1)) (.cse17 (= main_~p~0 4)) (.cse0 (= main_~A~0 main_~r~0)) (.cse16 (* main_~B~0 4)) (.cse1 (= main_~q~0 0)) (.cse14 (<= main_~A~0 5))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= .cse5 main_~d~0) .cse6 .cse1 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse3 .cse4) (and (= (+ main_~p~0 4) main_~q~0) .cse7 (not (<= 6 main_~A~0)) (= main_~A~0 (+ main_~d~0 main_~r~0 4)) .cse2 .cse3 .cse4) (and (= main_~q~0 main_~p~0) .cse6 .cse8 .cse9 .cse2) (and .cse10 .cse11 (<= 0 main_~A~0) .cse12 .cse2 .cse13 .cse3 .cse14) (and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 .cse15) 2) main_~d~0) .cse2 (= main_~A~0 (+ main_~d~0 main_~r~0 2)) .cse4) (and (= main_~q~0 2) .cse2 .cse3 (= main_~A~0 (+ .cse5 main_~r~0)) .cse4) (and .cse0 (<= (div main_~d~0 2) main_~r~0) .cse1 .cse2 (= main_~d~0 .cse16) .cse17) (and .cse10 .cse11 .cse7 .cse12 .cse8 .cse2 .cse13 .cse14) (and .cse10 .cse11 (<= .cse16 .cse18) .cse12 .cse9 .cse2 .cse17 .cse14) (and .cse0 (= main_~p~0 8) (<= .cse16 main_~r~0) .cse1 (= (* main_~B~0 8) main_~d~0) (= main_~d~0 8) .cse14))))) [2022-04-28 13:34:19,500 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 22 61) the Hoare annotation is: true [2022-04-28 13:34:19,501 INFO L895 garLoopResultBuilder]: At program point L44-1(lines 44 56) the Hoare annotation is: (let ((.cse0 (= main_~B~0 1)) (.cse1 (= main_~B~0 main_~d~0)) (.cse2 (= main_~p~0 1))) (or (and (= main_~A~0 main_~r~0) (= main_~q~0 0) .cse0 .cse1 .cse2) (and (= (+ main_~d~0 main_~r~0) main_~A~0) .cse0 (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse1 .cse2) (and (= (+ main_~r~0 (* main_~B~0 4)) main_~A~0) (= (* main_~B~0 main_~p~0) main_~d~0) (<= 0 main_~A~0) .cse0 (= main_~q~0 4) .cse1 (<= main_~A~0 5)) (and (= (+ main_~p~0 4) main_~q~0) (<= 0 main_~r~0) (not (<= 6 main_~A~0)) (= main_~A~0 (+ main_~d~0 main_~r~0 4)) .cse0 .cse1 .cse2) (and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) .cse0 (= main_~A~0 (+ main_~d~0 main_~r~0 2)) .cse2) (and (= main_~q~0 2) .cse0 .cse1 (= main_~A~0 (+ (* main_~B~0 2) main_~r~0)) .cse2))) [2022-04-28 13:34:19,501 INFO L895 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (let ((.cse3 (* main_~B~0 4)) (.cse0 (= main_~A~0 main_~r~0)) (.cse5 (<= 0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse4 (<= main_~A~0 5))) (or (and .cse0 (<= (div main_~d~0 2) main_~r~0) .cse1 .cse2 (= main_~d~0 .cse3) (= main_~p~0 4) .cse4) (and .cse0 .cse5 .cse1 .cse2 (= main_~B~0 main_~d~0) .cse4 (= main_~p~0 1)) (and .cse0 (= main_~p~0 8) (<= .cse3 main_~r~0) .cse1 (= (* main_~B~0 8) main_~d~0) (= main_~d~0 8) .cse4) (and .cse0 .cse5 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse4))) [2022-04-28 13:34:19,501 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 42) the Hoare annotation is: (let ((.cse3 (* main_~B~0 4)) (.cse0 (= main_~A~0 main_~r~0)) (.cse5 (<= 0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse4 (<= main_~A~0 5))) (or (and .cse0 (<= (div main_~d~0 2) main_~r~0) .cse1 .cse2 (= main_~d~0 .cse3) (= main_~p~0 4) .cse4) (and .cse0 .cse5 .cse1 .cse2 (= main_~B~0 main_~d~0) .cse4 (= main_~p~0 1)) (and .cse0 (= main_~p~0 8) (<= .cse3 main_~r~0) .cse1 (= (* main_~B~0 8) main_~d~0) (= main_~d~0 8) .cse4) (and .cse0 .cse5 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse4))) [2022-04-28 13:34:19,501 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 22 61) the Hoare annotation is: true [2022-04-28 13:34:19,501 INFO L902 garLoopResultBuilder]: At program point L59(line 59) the Hoare annotation is: true [2022-04-28 13:34:19,501 INFO L902 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-28 13:34:19,501 INFO L895 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (and (<= 0 main_~A~0) (<= main_~A~0 5)) [2022-04-28 13:34:19,501 INFO L895 garLoopResultBuilder]: At program point L45(line 45) the Hoare annotation is: (let ((.cse17 (+ main_~d~0 main_~r~0)) (.cse18 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 (* (- 1) main_~r~0)) main_~B~0) 2))) (let ((.cse6 (= main_~p~0 2)) (.cse3 (= main_~B~0 main_~d~0)) (.cse5 (* main_~B~0 2)) (.cse4 (= main_~p~0 1)) (.cse7 (<= 0 main_~r~0)) (.cse8 (= main_~d~0 2)) (.cse13 (= main_~q~0 4)) (.cse10 (<= 0 .cse18)) (.cse11 (= (* main_~B~0 main_~p~0) main_~d~0)) (.cse12 (< .cse18 2)) (.cse9 (= .cse17 main_~A~0)) (.cse2 (= main_~B~0 1)) (.cse16 (= main_~p~0 4)) (.cse0 (= main_~A~0 main_~r~0)) (.cse15 (* main_~B~0 4)) (.cse1 (= main_~q~0 0)) (.cse14 (<= main_~A~0 5))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= .cse5 main_~d~0) .cse6 .cse1 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse3 .cse4) (and (= (+ main_~p~0 4) main_~q~0) .cse7 (not (<= 6 main_~A~0)) (= main_~A~0 (+ main_~d~0 main_~r~0 4)) .cse2 .cse3 .cse4) (and (= main_~q~0 main_~p~0) .cse6 .cse8 .cse9 .cse2) (and (= main_~q~0 3) (= main_~A~0 (+ main_~r~0 (* main_~B~0 3))) (= main_~A~0 (+ main_~d~0 main_~r~0 2)) .cse3 .cse4) (and .cse10 .cse11 (<= 0 main_~A~0) .cse12 .cse2 .cse13 .cse3 .cse14) (and (= main_~q~0 2) .cse2 .cse3 (= main_~A~0 (+ .cse5 main_~r~0)) .cse4) (and .cse0 (<= (div main_~d~0 2) main_~r~0) .cse1 .cse2 (= main_~d~0 .cse15) .cse16) (and .cse10 .cse11 .cse7 .cse12 .cse8 .cse2 .cse13 .cse14) (and .cse10 .cse11 (<= .cse15 .cse17) .cse12 .cse9 .cse2 .cse16 .cse14) (and .cse0 (= main_~p~0 8) (<= .cse15 main_~r~0) .cse1 (= (* main_~B~0 8) main_~d~0) (= main_~d~0 8) .cse14)))) [2022-04-28 13:34:19,501 INFO L895 garLoopResultBuilder]: At program point L45-1(line 45) the Hoare annotation is: (let ((.cse15 (* (- 1) main_~r~0))) (let ((.cse18 (+ main_~d~0 main_~r~0)) (.cse19 (* (div (+ (* (- 1) main_~B~0 main_~q~0) main_~A~0 .cse15) main_~B~0) 2))) (let ((.cse6 (= main_~p~0 2)) (.cse3 (= main_~B~0 main_~d~0)) (.cse5 (* main_~B~0 2)) (.cse4 (= main_~p~0 1)) (.cse7 (<= 0 main_~r~0)) (.cse8 (= main_~d~0 2)) (.cse13 (= main_~q~0 4)) (.cse10 (<= 0 .cse19)) (.cse11 (= (* main_~B~0 main_~p~0) main_~d~0)) (.cse12 (< .cse19 2)) (.cse9 (= .cse18 main_~A~0)) (.cse2 (= main_~B~0 1)) (.cse17 (= main_~p~0 4)) (.cse0 (= main_~A~0 main_~r~0)) (.cse16 (* main_~B~0 4)) (.cse1 (= main_~q~0 0)) (.cse14 (<= main_~A~0 5))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= .cse5 main_~d~0) .cse6 .cse1 .cse2) (and .cse2 (= main_~q~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) .cse3 .cse4) (and (= (+ main_~p~0 4) main_~q~0) .cse7 (not (<= 6 main_~A~0)) (= main_~A~0 (+ main_~d~0 main_~r~0 4)) .cse2 .cse3 .cse4) (and (= main_~q~0 main_~p~0) .cse6 .cse8 .cse9 .cse2) (and .cse10 .cse11 (<= 0 main_~A~0) .cse12 .cse2 .cse13 .cse3 .cse14) (and (= (+ main_~p~0 2) main_~q~0) (= (div (+ (* (- 1) main_~d~0) main_~A~0 .cse15) 2) main_~d~0) .cse2 (= main_~A~0 (+ main_~d~0 main_~r~0 2)) .cse4) (and (= main_~q~0 2) .cse2 .cse3 (= main_~A~0 (+ .cse5 main_~r~0)) .cse4) (and .cse0 (<= (div main_~d~0 2) main_~r~0) .cse1 .cse2 (= main_~d~0 .cse16) .cse17) (and .cse10 .cse11 .cse7 .cse12 .cse8 .cse2 .cse13 .cse14) (and .cse10 .cse11 (<= .cse16 .cse18) .cse12 .cse9 .cse2 .cse17 .cse14) (and .cse0 (= main_~p~0 8) (<= .cse16 main_~r~0) .cse1 (= (* main_~B~0 8) main_~d~0) (= main_~d~0 8) .cse14))))) [2022-04-28 13:34:19,501 INFO L895 garLoopResultBuilder]: At program point L37(lines 34 42) the Hoare annotation is: (let ((.cse3 (* main_~B~0 4)) (.cse0 (= main_~A~0 main_~r~0)) (.cse5 (<= 0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse4 (<= main_~A~0 5))) (or (and .cse0 (<= (div main_~d~0 2) main_~r~0) .cse1 .cse2 (= main_~d~0 .cse3) (= main_~p~0 4) .cse4) (and .cse0 .cse5 .cse1 .cse2 (= main_~B~0 main_~d~0) .cse4 (= main_~p~0 1)) (and .cse0 (= main_~p~0 8) (<= .cse3 main_~r~0) .cse1 (= (* main_~B~0 8) main_~d~0) (= main_~d~0 8) .cse4) (and .cse0 .cse5 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse4))) [2022-04-28 13:34:19,501 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse3 (* main_~B~0 4)) (.cse0 (= main_~A~0 main_~r~0)) (.cse5 (<= 0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse4 (<= main_~A~0 5))) (or (and .cse0 (<= (div main_~d~0 2) main_~r~0) .cse1 .cse2 (= main_~d~0 .cse3) (= main_~p~0 4) .cse4) (and .cse0 .cse5 .cse1 .cse2 (= main_~B~0 main_~d~0) .cse4 (= main_~p~0 1)) (and .cse0 (= main_~p~0 8) (<= .cse3 main_~r~0) .cse1 (= (* main_~B~0 8) main_~d~0) (= main_~d~0 8) .cse4) (and .cse0 .cse5 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse4))) [2022-04-28 13:34:19,501 INFO L895 garLoopResultBuilder]: At program point L35-1(line 35) the Hoare annotation is: (let ((.cse3 (* main_~B~0 4)) (.cse0 (= main_~A~0 main_~r~0)) (.cse5 (<= 0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse4 (<= main_~A~0 5))) (or (and .cse0 (<= (div main_~d~0 2) main_~r~0) .cse1 .cse2 (= main_~d~0 .cse3) (= main_~p~0 4) .cse4) (and .cse0 .cse5 .cse1 .cse2 (= main_~B~0 main_~d~0) .cse4 (= main_~p~0 1)) (and .cse0 (= main_~p~0 8) (<= .cse3 main_~r~0) .cse1 (= (* main_~B~0 8) main_~d~0) (= main_~d~0 8) .cse4) (and .cse0 .cse5 (= main_~p~0 2) (= main_~d~0 2) .cse1 .cse2 .cse4))) [2022-04-28 13:34:19,501 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 13:34:19,501 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 13:34:19,501 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 13:34:19,502 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 13:34:19,502 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 13:34:19,502 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 13:34:19,502 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 13:34:19,502 INFO L895 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 13:34:19,502 INFO L895 garLoopResultBuilder]: At program point L15(lines 15 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 13:34:19,502 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-28 13:34:19,502 INFO L895 garLoopResultBuilder]: At program point L15-2(lines 14 20) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 13:34:19,502 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 14 20) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 13:34:19,502 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 13:34:19,505 INFO L356 BasicCegarLoop]: Path program histogram: [14, 6, 4, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-28 13:34:19,506 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 13:34:19,515 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 13:34:19,520 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 13:34:19,615 INFO L163 areAnnotationChecker]: CFG has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 13:34:19,625 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 01:34:19 BoogieIcfgContainer [2022-04-28 13:34:19,625 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 13:34:19,626 INFO L158 Benchmark]: Toolchain (without parser) took 520652.51ms. Allocated memory was 186.6MB in the beginning and 224.4MB in the end (delta: 37.7MB). Free memory was 139.1MB in the beginning and 173.4MB in the end (delta: -34.3MB). Peak memory consumption was 116.5MB. Max. memory is 8.0GB. [2022-04-28 13:34:19,626 INFO L158 Benchmark]: CDTParser took 0.25ms. Allocated memory is still 186.6MB. Free memory was 155.3MB in the beginning and 155.3MB in the end (delta: 71.3kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 13:34:19,626 INFO L158 Benchmark]: CACSL2BoogieTranslator took 278.25ms. Allocated memory is still 186.6MB. Free memory was 138.9MB in the beginning and 163.3MB in the end (delta: -24.3MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. [2022-04-28 13:34:19,631 INFO L158 Benchmark]: Boogie Preprocessor took 34.83ms. Allocated memory is still 186.6MB. Free memory was 163.3MB in the beginning and 161.8MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-28 13:34:19,631 INFO L158 Benchmark]: RCFGBuilder took 329.77ms. Allocated memory is still 186.6MB. Free memory was 161.6MB in the beginning and 149.7MB in the end (delta: 11.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-28 13:34:19,631 INFO L158 Benchmark]: TraceAbstraction took 520003.70ms. Allocated memory was 186.6MB in the beginning and 224.4MB in the end (delta: 37.7MB). Free memory was 149.3MB in the beginning and 173.4MB in the end (delta: -24.1MB). Peak memory consumption was 127.6MB. Max. memory is 8.0GB. [2022-04-28 13:34:19,632 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.25ms. Allocated memory is still 186.6MB. Free memory was 155.3MB in the beginning and 155.3MB in the end (delta: 71.3kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 278.25ms. Allocated memory is still 186.6MB. Free memory was 138.9MB in the beginning and 163.3MB in the end (delta: -24.3MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 34.83ms. Allocated memory is still 186.6MB. Free memory was 163.3MB in the beginning and 161.8MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 329.77ms. Allocated memory is still 186.6MB. Free memory was 161.6MB in the beginning and 149.7MB in the end (delta: 11.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 520003.70ms. Allocated memory was 186.6MB in the beginning and 224.4MB in the end (delta: 37.7MB). Free memory was 149.3MB in the beginning and 173.4MB in the end (delta: -24.1MB). Peak memory consumption was 127.6MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 17]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 38 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 519.8s, OverallIterations: 20, TraceHistogramMax: 22, PathProgramHistogramMax: 14, EmptinessCheckTime: 0.0s, AutomataDifference: 18.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 6.4s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 389 SdHoareTripleChecker+Valid, 5.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 300 mSDsluCounter, 3557 SdHoareTripleChecker+Invalid, 5.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 2644 mSDsCounter, 314 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 4582 IncrementalHoareTripleChecker+Invalid, 4896 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 314 mSolverCounterUnsat, 913 mSDtfsCounter, 4582 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 2787 GetRequests, 2530 SyntacticMatches, 34 SemanticMatches, 223 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 376 ImplicationChecksByTransitivity, 32.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=162occurred in iteration=13, InterpolantAutomatonStates: 157, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.9s AutomataMinimizationTime, 20 MinimizatonAttempts, 58 StatesRemovedByMinimization, 11 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 35 LocationsWithAnnotation, 833 PreInvPairs, 1134 NumberOfFragments, 2349 HoareAnnotationTreeSize, 833 FomulaSimplifications, 1382 FormulaSimplificationTreeSizeReduction, 1.1s HoareSimplificationTime, 35 FomulaSimplificationsInter, 6259 FormulaSimplificationTreeSizeReductionInter, 5.1s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: ((((((((A == r && d / 2 <= r) && q == 0) && B == 1) && d == B * 4) && p == 4) && A <= 5) || ((((((A == r && 0 <= r) && q == 0) && B == 1) && B == d) && A <= 5) && p == 1)) || ((((((A == r && p == 8) && B * 4 <= r) && q == 0) && B * 8 == d) && d == 8) && A <= 5)) || ((((((A == r && 0 <= r) && p == 2) && d == 2) && q == 0) && B == 1) && A <= 5) - ProcedureContractResult [Line: 11]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 22]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 14]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-28 13:34:19,789 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...