/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 06:50:49,932 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 06:50:49,935 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 06:50:49,979 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 06:50:49,980 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 06:50:49,981 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 06:50:49,983 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 06:50:49,986 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 06:50:49,987 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 06:50:49,991 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 06:50:49,992 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 06:50:49,993 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 06:50:49,994 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 06:50:49,997 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 06:50:49,998 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 06:50:50,000 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 06:50:50,001 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 06:50:50,001 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 06:50:50,003 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 06:50:50,008 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 06:50:50,010 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 06:50:50,011 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 06:50:50,012 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 06:50:50,012 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 06:50:50,014 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 06:50:50,019 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 06:50:50,020 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 06:50:50,020 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 06:50:50,021 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 06:50:50,021 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 06:50:50,022 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 06:50:50,022 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 06:50:50,024 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 06:50:50,024 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 06:50:50,025 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 06:50:50,025 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 06:50:50,025 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 06:50:50,026 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 06:50:50,026 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 06:50:50,026 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 06:50:50,027 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 06:50:50,028 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 06:50:50,029 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 06:50:50,039 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 06:50:50,040 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 06:50:50,041 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 06:50:50,041 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 06:50:50,041 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 06:50:50,041 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 06:50:50,041 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 06:50:50,041 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 06:50:50,042 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 06:50:50,042 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 06:50:50,042 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 06:50:50,043 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 06:50:50,043 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 06:50:50,043 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 06:50:50,043 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 06:50:50,043 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 06:50:50,043 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 06:50:50,043 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 06:50:50,044 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 06:50:50,044 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 06:50:50,044 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 06:50:50,044 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 06:50:50,044 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 06:50:50,044 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 06:50:50,045 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 06:50:50,045 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-08 06:50:50,235 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 06:50:50,253 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 06:50:50,255 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 06:50:50,256 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 06:50:50,256 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 06:50:50,257 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-08 06:50:50,303 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d82dd977c/af5fbe9948854b868156f6f6af2d9bc1/FLAG12e5fd0e0 [2022-04-08 06:50:50,678 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 06:50:50,678 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound5.c [2022-04-08 06:50:50,684 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d82dd977c/af5fbe9948854b868156f6f6af2d9bc1/FLAG12e5fd0e0 [2022-04-08 06:50:50,694 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d82dd977c/af5fbe9948854b868156f6f6af2d9bc1 [2022-04-08 06:50:50,696 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 06:50:50,697 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 06:50:50,698 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 06:50:50,698 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 06:50:50,701 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 06:50:50,701 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 06:50:50" (1/1) ... [2022-04-08 06:50:50,702 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@78a8707c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:50, skipping insertion in model container [2022-04-08 06:50:50,702 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 06:50:50" (1/1) ... [2022-04-08 06:50:50,708 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 06:50:50,720 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 06:50:50,843 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-08 06:50:50,877 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 06:50:50,884 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 06:50:50,894 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-08 06:50:50,899 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 06:50:50,909 INFO L208 MainTranslator]: Completed translation [2022-04-08 06:50:50,909 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:50 WrapperNode [2022-04-08 06:50:50,909 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 06:50:50,910 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 06:50:50,910 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 06:50:50,910 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 06:50:50,918 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:50" (1/1) ... [2022-04-08 06:50:50,918 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:50" (1/1) ... [2022-04-08 06:50:50,922 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:50" (1/1) ... [2022-04-08 06:50:50,923 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:50" (1/1) ... [2022-04-08 06:50:50,928 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:50" (1/1) ... [2022-04-08 06:50:50,931 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:50" (1/1) ... [2022-04-08 06:50:50,932 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:50" (1/1) ... [2022-04-08 06:50:50,933 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 06:50:50,934 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 06:50:50,934 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 06:50:50,934 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 06:50:50,935 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:50" (1/1) ... [2022-04-08 06:50:50,952 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 06:50:50,961 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:50:50,970 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-08 06:50:50,975 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-08 06:50:50,999 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 06:50:50,999 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 06:50:50,999 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 06:50:50,999 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 06:50:50,999 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 06:50:50,999 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 06:50:51,000 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 06:50:51,000 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 06:50:51,000 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 06:50:51,000 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 06:50:51,000 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 06:50:51,000 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 06:50:51,000 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 06:50:51,000 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 06:50:51,001 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 06:50:51,001 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 06:50:51,001 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 06:50:51,001 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 06:50:51,001 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 06:50:51,001 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 06:50:51,049 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 06:50:51,050 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 06:50:51,169 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 06:50:51,175 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 06:50:51,175 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 06:50:51,177 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 06:50:51 BoogieIcfgContainer [2022-04-08 06:50:51,177 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 06:50:51,178 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 06:50:51,178 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 06:50:51,181 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 06:50:51,181 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 06:50:50" (1/3) ... [2022-04-08 06:50:51,181 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58e72fd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 06:50:51, skipping insertion in model container [2022-04-08 06:50:51,182 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:50:50" (2/3) ... [2022-04-08 06:50:51,182 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58e72fd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 06:50:51, skipping insertion in model container [2022-04-08 06:50:51,182 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 06:50:51" (3/3) ... [2022-04-08 06:50:51,183 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_valuebound5.c [2022-04-08 06:50:51,187 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 06:50:51,187 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 06:50:51,222 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 06:50:51,227 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 06:50:51,227 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 06:50:51,241 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-08 06:50:51,246 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 06:50:51,246 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:51,247 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:50:51,247 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:51,251 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:51,251 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 1 times [2022-04-08 06:50:51,257 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:51,257 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [278575953] [2022-04-08 06:50:51,266 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:50:51,266 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 2 times [2022-04-08 06:50:51,268 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:51,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [204313715] [2022-04-08 06:50:51,269 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:51,269 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:51,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:51,437 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:50:51,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:51,471 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-08 06:50:51,472 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 06:50:51,472 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-08 06:50:51,473 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 06:50:51,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:51,489 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 06:50:51,490 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 06:50:51,490 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 06:50:51,490 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-08 06:50:51,493 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-08 06:50:51,493 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-08 06:50:51,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 06:50:51,495 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-08 06:50:51,495 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret5 := main(); {38#true} is VALID [2022-04-08 06:50:51,496 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-08 06:50:51,496 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-08 06:50:51,497 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 06:50:51,497 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 06:50:51,498 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 06:50:51,498 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-08 06:50:51,499 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-08 06:50:51,499 INFO L290 TraceCheckUtils]: 12: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 06:50:51,499 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-08 06:50:51,500 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-08 06:50:51,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-08 06:50:51,500 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 06:50:51,501 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-08 06:50:51,501 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:51,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [204313715] [2022-04-08 06:50:51,503 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [204313715] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:51,503 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:51,503 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 06:50:51,507 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:51,508 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [278575953] [2022-04-08 06:50:51,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [278575953] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:51,509 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:51,509 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 06:50:51,509 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1117834519] [2022-04-08 06:50:51,510 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:51,515 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-08 06:50:51,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:51,520 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-08 06:50:51,555 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-08 06:50:51,555 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 06:50:51,555 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:51,582 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 06:50:51,583 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 06:50:51,586 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-08 06:50:51,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:51,799 INFO L93 Difference]: Finished difference Result 61 states and 95 transitions. [2022-04-08 06:50:51,799 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 06:50:51,800 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-08 06:50:51,800 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:51,801 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-08 06:50:51,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-08 06:50:51,816 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-08 06:50:51,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-08 06:50:51,821 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 95 transitions. [2022-04-08 06:50:51,972 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-08 06:50:51,985 INFO L225 Difference]: With dead ends: 61 [2022-04-08 06:50:51,986 INFO L226 Difference]: Without dead ends: 30 [2022-04-08 06:50:51,988 INFO L912 BasicCegarLoop]: 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-08 06:50:51,991 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:50:51,992 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:50:52,005 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-08 06:50:52,019 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-08 06:50:52,019 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:52,020 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-08 06:50:52,021 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-08 06:50:52,021 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-08 06:50:52,025 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:52,025 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-08 06:50:52,026 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 06:50:52,026 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:52,026 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:52,027 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-08 06:50:52,027 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-08 06:50:52,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:52,030 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-08 06:50:52,031 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 06:50:52,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:52,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:52,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:52,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:52,037 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-08 06:50:52,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-08 06:50:52,042 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 17 [2022-04-08 06:50:52,042 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:52,043 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-08 06:50:52,043 INFO L479 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-08 06:50:52,043 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 38 transitions. [2022-04-08 06:50:52,087 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-08 06:50:52,087 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 06:50:52,088 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 06:50:52,088 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:52,088 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:50:52,088 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 06:50:52,089 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:52,089 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:52,090 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 1 times [2022-04-08 06:50:52,090 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:52,090 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [91797366] [2022-04-08 06:50:52,091 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:50:52,091 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 2 times [2022-04-08 06:50:52,091 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:52,091 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1535644957] [2022-04-08 06:50:52,091 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:52,092 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:52,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:52,173 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:50:52,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:52,198 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-08 06:50:52,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 06:50:52,199 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-08 06:50:52,199 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 06:50:52,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:52,217 INFO L290 TraceCheckUtils]: 0: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-08 06:50:52,217 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-08 06:50:52,218 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 06:50:52,218 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-08 06:50:52,219 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-08 06:50:52,219 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-08 06:50:52,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 06:50:52,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-08 06:50:52,219 INFO L272 TraceCheckUtils]: 4: Hoare triple {292#true} call #t~ret5 := main(); {292#true} is VALID [2022-04-08 06:50:52,220 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-08 06:50:52,220 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-08 06:50:52,220 INFO L290 TraceCheckUtils]: 7: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-08 06:50:52,220 INFO L290 TraceCheckUtils]: 8: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-08 06:50:52,220 INFO L290 TraceCheckUtils]: 9: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 06:50:52,221 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-08 06:50:52,221 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-08 06:50:52,222 INFO L290 TraceCheckUtils]: 12: Hoare triple {301#(= main_~q~0 0)} assume !false; {301#(= main_~q~0 0)} is VALID [2022-04-08 06:50:52,222 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-08 06:50:52,224 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-08 06:50:52,224 INFO L290 TraceCheckUtils]: 15: Hoare triple {303#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {293#false} is VALID [2022-04-08 06:50:52,224 INFO L290 TraceCheckUtils]: 16: Hoare triple {293#false} assume !false; {293#false} is VALID [2022-04-08 06:50:52,225 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-08 06:50:52,225 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:52,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1535644957] [2022-04-08 06:50:52,225 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1535644957] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:52,225 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:52,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:50:52,226 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:52,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [91797366] [2022-04-08 06:50:52,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [91797366] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:52,226 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:52,227 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:50:52,227 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2067963745] [2022-04-08 06:50:52,227 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:52,228 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-08 06:50:52,228 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:52,228 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-08 06:50:52,242 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-08 06:50:52,243 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:50:52,243 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:52,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:50:52,244 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:50:52,245 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-08 06:50:52,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:52,649 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-08 06:50:52,649 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:50:52,649 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-08 06:50:52,650 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:52,650 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-08 06:50:52,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 06:50:52,663 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-08 06:50:52,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 06:50:52,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-08 06:50:52,728 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-08 06:50:52,732 INFO L225 Difference]: With dead ends: 43 [2022-04-08 06:50:52,732 INFO L226 Difference]: Without dead ends: 41 [2022-04-08 06:50:52,733 INFO L912 BasicCegarLoop]: 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-08 06:50:52,736 INFO L913 BasicCegarLoop]: 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-08 06:50:52,737 INFO L914 BasicCegarLoop]: 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-08 06:50:52,739 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-08 06:50:52,751 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-08 06:50:52,751 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:52,751 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-08 06:50:52,752 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-08 06:50:52,753 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-08 06:50:52,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:52,760 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 06:50:52,760 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 06:50:52,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:52,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:52,761 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-08 06:50:52,761 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-08 06:50:52,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:52,764 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 06:50:52,764 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 06:50:52,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:52,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:52,765 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:52,765 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:52,766 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-08 06:50:52,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-08 06:50:52,767 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 17 [2022-04-08 06:50:52,768 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:52,768 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-08 06:50:52,768 INFO L479 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-08 06:50:52,768 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 41 transitions. [2022-04-08 06:50:52,815 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-08 06:50:52,816 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-08 06:50:52,816 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 06:50:52,816 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:52,816 INFO L499 BasicCegarLoop]: 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-08 06:50:52,817 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 06:50:52,817 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:52,817 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:52,817 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 1 times [2022-04-08 06:50:52,817 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:52,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2116207992] [2022-04-08 06:50:52,818 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:50:52,818 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 2 times [2022-04-08 06:50:52,819 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:52,819 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1203693759] [2022-04-08 06:50:52,819 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:52,819 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:52,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:52,872 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:50:52,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:52,879 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-08 06:50:52,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 06:50:52,879 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-08 06:50:52,879 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 06:50:52,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:52,883 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 06:50:52,883 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 06:50:52,883 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 06:50:52,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-08 06:50:52,884 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 06:50:52,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:52,894 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 06:50:52,894 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 06:50:52,894 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 06:50:52,895 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-08 06:50:52,896 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-08 06:50:52,896 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-08 06:50:52,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 06:50:52,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-08 06:50:52,896 INFO L272 TraceCheckUtils]: 4: Hoare triple {551#true} call #t~ret5 := main(); {551#true} is VALID [2022-04-08 06:50:52,897 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-08 06:50:52,897 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-08 06:50:52,897 INFO L290 TraceCheckUtils]: 7: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 06:50:52,897 INFO L290 TraceCheckUtils]: 8: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 06:50:52,897 INFO L290 TraceCheckUtils]: 9: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 06:50:52,898 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-08 06:50:52,898 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-08 06:50:52,898 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-08 06:50:52,898 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-08 06:50:52,899 INFO L290 TraceCheckUtils]: 14: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 06:50:52,899 INFO L290 TraceCheckUtils]: 15: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 06:50:52,899 INFO L290 TraceCheckUtils]: 16: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 06:50:52,900 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-08 06:50:52,900 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-08 06:50:52,901 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-08 06:50:52,901 INFO L290 TraceCheckUtils]: 20: Hoare triple {566#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {552#false} is VALID [2022-04-08 06:50:52,901 INFO L290 TraceCheckUtils]: 21: Hoare triple {552#false} assume !false; {552#false} is VALID [2022-04-08 06:50:52,902 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-08 06:50:52,902 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:52,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1203693759] [2022-04-08 06:50:52,902 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1203693759] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:52,902 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:52,903 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:50:52,903 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:52,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2116207992] [2022-04-08 06:50:52,903 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2116207992] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:52,903 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:52,903 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:50:52,903 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2112530298] [2022-04-08 06:50:52,903 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:52,904 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-08 06:50:52,904 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:52,904 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-08 06:50:52,919 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-08 06:50:52,919 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:50:52,919 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:52,919 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:50:52,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:50:52,920 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-08 06:50:53,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:53,287 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-08 06:50:53,287 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:50:53,288 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-08 06:50:53,288 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:53,288 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-08 06:50:53,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 06:50:53,290 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-08 06:50:53,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 06:50:53,292 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-08 06:50:53,347 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-08 06:50:53,349 INFO L225 Difference]: With dead ends: 47 [2022-04-08 06:50:53,349 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 06:50:53,350 INFO L912 BasicCegarLoop]: 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-08 06:50:53,351 INFO L913 BasicCegarLoop]: 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:50:53,351 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 45 Invalid, 141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:50:53,352 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 06:50:53,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 38. [2022-04-08 06:50:53,358 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:53,358 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-08 06:50:53,358 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-08 06:50:53,359 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-08 06:50:53,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:53,361 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 06:50:53,361 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 06:50:53,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:53,362 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:53,362 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-08 06:50:53,362 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-08 06:50:53,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:53,365 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 06:50:53,365 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 06:50:53,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:53,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:53,365 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:53,366 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:53,366 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-08 06:50:53,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2022-04-08 06:50:53,368 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 22 [2022-04-08 06:50:53,368 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:53,368 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2022-04-08 06:50:53,368 INFO L479 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-08 06:50:53,368 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 44 transitions. [2022-04-08 06:50:53,407 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-08 06:50:53,407 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-08 06:50:53,408 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-08 06:50:53,408 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:53,408 INFO L499 BasicCegarLoop]: 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-08 06:50:53,408 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 06:50:53,408 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:53,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:53,408 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 1 times [2022-04-08 06:50:53,409 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:53,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1116716901] [2022-04-08 06:50:53,409 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:50:53,409 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 2 times [2022-04-08 06:50:53,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:53,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [350595868] [2022-04-08 06:50:53,410 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:53,410 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:53,425 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:50:53,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1720356844] [2022-04-08 06:50:53,426 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:50:53,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:50:53,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:50:53,431 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-08 06:50:53,469 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-08 06:50:53,493 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:50:53,496 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:50:53,498 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 06:50:53,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:53,529 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:50:53,755 INFO L272 TraceCheckUtils]: 0: Hoare triple {838#true} call ULTIMATE.init(); {838#true} is VALID [2022-04-08 06:50:53,755 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-08 06:50:53,755 INFO L290 TraceCheckUtils]: 2: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 06:50:53,756 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {838#true} {838#true} #94#return; {838#true} is VALID [2022-04-08 06:50:53,756 INFO L272 TraceCheckUtils]: 4: Hoare triple {838#true} call #t~ret5 := main(); {838#true} is VALID [2022-04-08 06:50:53,756 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-08 06:50:53,756 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-08 06:50:53,756 INFO L290 TraceCheckUtils]: 7: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 06:50:53,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 06:50:53,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 06:50:53,757 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {838#true} {838#true} #78#return; {838#true} is VALID [2022-04-08 06:50:53,757 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-08 06:50:53,758 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-08 06:50:53,758 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-08 06:50:53,758 INFO L290 TraceCheckUtils]: 14: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 06:50:53,758 INFO L290 TraceCheckUtils]: 15: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 06:50:53,759 INFO L290 TraceCheckUtils]: 16: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 06:50:53,759 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-08 06:50:53,759 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-08 06:50:53,760 INFO L290 TraceCheckUtils]: 19: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 06:50:53,760 INFO L290 TraceCheckUtils]: 20: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 06:50:53,760 INFO L290 TraceCheckUtils]: 21: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 06:50:53,761 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-08 06:50:53,761 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-08 06:50:53,762 INFO L290 TraceCheckUtils]: 24: Hoare triple {913#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {917#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:53,762 INFO L290 TraceCheckUtils]: 25: Hoare triple {917#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {839#false} is VALID [2022-04-08 06:50:53,762 INFO L290 TraceCheckUtils]: 26: Hoare triple {839#false} assume !false; {839#false} is VALID [2022-04-08 06:50:53,763 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-08 06:50:53,763 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 06:50:53,763 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:53,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [350595868] [2022-04-08 06:50:53,763 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:50:53,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1720356844] [2022-04-08 06:50:53,763 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1720356844] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:53,764 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:53,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:50:53,764 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:53,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1116716901] [2022-04-08 06:50:53,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1116716901] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:53,764 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:53,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:50:53,765 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1180939824] [2022-04-08 06:50:53,765 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:53,765 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-08 06:50:53,765 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:53,766 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-08 06:50:53,786 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-08 06:50:53,786 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:50:53,786 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:53,787 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:50:53,787 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 06:50:53,787 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-08 06:50:53,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:53,953 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-08 06:50:53,953 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:50:53,954 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-08 06:50:53,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:53,954 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-08 06:50:53,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-08 06:50:53,957 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-08 06:50:53,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-08 06:50:53,959 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-08 06:50:54,016 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-08 06:50:54,018 INFO L225 Difference]: With dead ends: 66 [2022-04-08 06:50:54,018 INFO L226 Difference]: Without dead ends: 52 [2022-04-08 06:50:54,018 INFO L912 BasicCegarLoop]: 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-08 06:50:54,019 INFO L913 BasicCegarLoop]: 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-08 06:50:54,020 INFO L914 BasicCegarLoop]: 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-08 06:50:54,020 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-08 06:50:54,031 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-08 06:50:54,032 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:54,032 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-08 06:50:54,032 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-08 06:50:54,033 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-08 06:50:54,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:54,035 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-08 06:50:54,035 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 06:50:54,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:54,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:54,036 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-08 06:50:54,037 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-08 06:50:54,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:54,039 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-08 06:50:54,039 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 06:50:54,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:54,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:54,040 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:54,040 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:54,040 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-08 06:50:54,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-08 06:50:54,042 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 27 [2022-04-08 06:50:54,043 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:54,043 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-08 06:50:54,043 INFO L479 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-08 06:50:54,043 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 63 transitions. [2022-04-08 06:50:54,103 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-08 06:50:54,103 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 06:50:54,104 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 06:50:54,104 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:54,104 INFO L499 BasicCegarLoop]: 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-08 06:50:54,130 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 06:50:54,323 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:50:54,324 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:54,324 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:54,324 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 1 times [2022-04-08 06:50:54,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:54,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1966182465] [2022-04-08 06:50:54,325 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:50:54,325 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 2 times [2022-04-08 06:50:54,325 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:54,325 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [184850269] [2022-04-08 06:50:54,325 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:54,325 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:54,343 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:50:54,343 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [22284745] [2022-04-08 06:50:54,343 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:50:54,343 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:50:54,343 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:50:54,347 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-08 06:50:54,350 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-08 06:50:54,393 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:50:54,393 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:50:54,394 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 06:50:54,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:54,407 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:50:54,583 INFO L272 TraceCheckUtils]: 0: Hoare triple {1265#true} call ULTIMATE.init(); {1265#true} is VALID [2022-04-08 06:50:54,584 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-08 06:50:54,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 06:50:54,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1265#true} {1265#true} #94#return; {1265#true} is VALID [2022-04-08 06:50:54,584 INFO L272 TraceCheckUtils]: 4: Hoare triple {1265#true} call #t~ret5 := main(); {1265#true} is VALID [2022-04-08 06:50:54,585 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-08 06:50:54,586 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-08 06:50:54,586 INFO L290 TraceCheckUtils]: 7: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 06:50:54,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 06:50:54,587 INFO L290 TraceCheckUtils]: 9: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 06:50:54,588 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1265#true} {1265#true} #78#return; {1265#true} is VALID [2022-04-08 06:50:54,597 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-08 06:50:54,598 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-08 06:50:54,598 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-08 06:50:54,598 INFO L290 TraceCheckUtils]: 14: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 06:50:54,598 INFO L290 TraceCheckUtils]: 15: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 06:50:54,598 INFO L290 TraceCheckUtils]: 16: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 06:50:54,601 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-08 06:50:54,603 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-08 06:50:54,603 INFO L290 TraceCheckUtils]: 19: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 06:50:54,603 INFO L290 TraceCheckUtils]: 20: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 06:50:54,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 06:50:54,604 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-08 06:50:54,604 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-08 06:50:54,605 INFO L290 TraceCheckUtils]: 24: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 06:50:54,605 INFO L290 TraceCheckUtils]: 25: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 06:50:54,605 INFO L290 TraceCheckUtils]: 26: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 06:50:54,606 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-08 06:50:54,606 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-08 06:50:54,607 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-08 06:50:54,608 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-08 06:50:54,608 INFO L290 TraceCheckUtils]: 31: Hoare triple {1361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:54,609 INFO L290 TraceCheckUtils]: 32: Hoare triple {1365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1266#false} is VALID [2022-04-08 06:50:54,609 INFO L290 TraceCheckUtils]: 33: Hoare triple {1266#false} assume !false; {1266#false} is VALID [2022-04-08 06:50:54,609 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-08 06:50:54,610 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 06:50:54,610 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:54,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [184850269] [2022-04-08 06:50:54,610 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:50:54,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [22284745] [2022-04-08 06:50:54,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [22284745] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:54,610 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:54,610 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:50:54,611 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:54,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1966182465] [2022-04-08 06:50:54,611 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1966182465] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:54,611 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:54,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:50:54,611 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1834240626] [2022-04-08 06:50:54,611 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:54,612 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-08 06:50:54,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:54,612 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-08 06:50:54,635 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-08 06:50:54,635 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:50:54,635 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:54,635 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:50:54,635 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 06:50:54,636 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-08 06:50:54,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:54,841 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-08 06:50:54,841 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:50:54,841 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-08 06:50:54,842 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:50:54,842 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-08 06:50:54,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 06:50:54,844 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-08 06:50:54,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 06:50:54,846 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-08 06:50:54,901 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-08 06:50:54,904 INFO L225 Difference]: With dead ends: 65 [2022-04-08 06:50:54,904 INFO L226 Difference]: Without dead ends: 58 [2022-04-08 06:50:54,904 INFO L912 BasicCegarLoop]: 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-08 06:50:54,906 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 9 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-08 06:50:54,907 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 103 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 06:50:54,908 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-08 06:50:54,941 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2022-04-08 06:50:54,941 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:50:54,942 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-08 06:50:54,942 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-08 06:50:54,943 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-08 06:50:54,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:54,949 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-08 06:50:54,949 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-08 06:50:54,949 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:54,949 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:54,950 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-08 06:50:54,951 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-08 06:50:54,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:50:54,955 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-08 06:50:54,955 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-08 06:50:54,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:50:54,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:50:54,955 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:50:54,955 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:50:54,956 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-08 06:50:54,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2022-04-08 06:50:54,958 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 34 [2022-04-08 06:50:54,958 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:50:54,958 INFO L478 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2022-04-08 06:50:54,959 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (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-08 06:50:54,959 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 69 transitions. [2022-04-08 06:50:55,033 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-08 06:50:55,034 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-08 06:50:55,036 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 06:50:55,036 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:50:55,036 INFO L499 BasicCegarLoop]: 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-08 06:50:55,057 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-08 06:50:55,251 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:50:55,252 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:50:55,252 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:50:55,252 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 1 times [2022-04-08 06:50:55,252 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:55,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1360293749] [2022-04-08 06:50:59,411 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:50:59,411 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:50:59,411 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:50:59,411 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 2 times [2022-04-08 06:50:59,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:50:59,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [594873690] [2022-04-08 06:50:59,412 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:50:59,412 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:50:59,435 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:50:59,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2128402298] [2022-04-08 06:50:59,436 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:50:59,436 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:50:59,436 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:50:59,444 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-08 06:50:59,445 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-08 06:50:59,489 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:50:59,489 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:50:59,490 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 06:50:59,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:50:59,506 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:50:59,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-08 06:50:59,747 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-08 06:50:59,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,747 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-08 06:50:59,747 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret5 := main(); {1733#true} is VALID [2022-04-08 06:50:59,748 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-08 06:50:59,748 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-08 06:50:59,748 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:59,748 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:59,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,748 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-08 06:50:59,749 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-08 06:50:59,749 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-08 06:50:59,749 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-08 06:50:59,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:59,749 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:59,749 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,750 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-08 06:50:59,750 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-08 06:50:59,750 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:59,750 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:59,750 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,751 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-08 06:50:59,751 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-08 06:50:59,751 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:59,751 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:59,751 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,752 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-08 06:50:59,753 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-08 06:50:59,753 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-08 06:50:59,753 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-08 06:50:59,753 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:59,753 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:59,753 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,754 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-08 06:50:59,754 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-08 06:50:59,754 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:59,755 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:59,755 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,755 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-08 06:50:59,756 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-08 06:50:59,756 INFO L290 TraceCheckUtils]: 41: Hoare triple {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1864#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:59,757 INFO L290 TraceCheckUtils]: 42: Hoare triple {1864#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-08 06:50:59,757 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-08 06:50:59,757 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-08 06:50:59,757 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:50:59,928 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-08 06:50:59,929 INFO L290 TraceCheckUtils]: 42: Hoare triple {1864#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-08 06:50:59,929 INFO L290 TraceCheckUtils]: 41: Hoare triple {1860#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1864#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:50:59,930 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-08 06:50:59,931 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-08 06:50:59,931 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,931 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:59,931 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:59,931 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-08 06:50:59,932 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-08 06:50:59,933 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,933 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:59,933 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:59,933 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-08 06:50:59,933 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-08 06:50:59,938 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-08 06:50:59,939 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-08 06:50:59,939 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,939 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:59,939 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:59,939 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-08 06:50:59,940 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-08 06:50:59,940 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,940 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:59,940 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:59,940 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-08 06:50:59,942 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-08 06:50:59,942 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,942 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:59,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:59,942 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-08 06:50:59,942 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-08 06:50:59,943 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-08 06:50:59,943 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-08 06:50:59,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 06:50:59,943 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 06:50:59,943 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-08 06:50:59,944 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-08 06:50:59,944 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret5 := main(); {1733#true} is VALID [2022-04-08 06:50:59,944 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-08 06:50:59,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 06:50:59,944 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-08 06:50:59,944 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-08 06:50:59,944 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-08 06:50:59,945 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:50:59,945 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [594873690] [2022-04-08 06:50:59,945 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:50:59,945 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2128402298] [2022-04-08 06:50:59,945 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2128402298] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 06:50:59,945 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 06:50:59,945 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-08 06:50:59,946 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:50:59,946 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1360293749] [2022-04-08 06:50:59,946 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1360293749] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:50:59,946 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:50:59,946 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:50:59,946 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1414590024] [2022-04-08 06:50:59,946 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:50:59,947 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-08 06:50:59,947 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:50:59,947 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-08 06:50:59,969 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-08 06:50:59,969 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:50:59,969 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:50:59,969 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:50:59,970 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 06:50:59,970 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-08 06:51:02,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:51:02,256 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-08 06:51:02,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:51:02,257 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-08 06:51:02,257 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:51:02,257 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-08 06:51:02,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 06:51:02,258 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-08 06:51:02,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 06:51:02,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-08 06:51:02,316 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-08 06:51:02,318 INFO L225 Difference]: With dead ends: 69 [2022-04-08 06:51:02,318 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 06:51:02,318 INFO L912 BasicCegarLoop]: 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-08 06:51:02,319 INFO L913 BasicCegarLoop]: 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-08 06:51:02,319 INFO L914 BasicCegarLoop]: 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-08 06:51:02,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 06:51:02,344 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2022-04-08 06:51:02,344 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:51:02,344 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-08 06:51:02,345 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-08 06:51:02,345 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-08 06:51:02,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:51:02,348 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 06:51:02,348 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 06:51:02,348 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:51:02,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:51:02,349 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-08 06:51:02,349 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-08 06:51:02,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:51:02,352 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 06:51:02,352 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 06:51:02,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:51:02,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:51:02,352 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:51:02,353 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:51:02,353 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-08 06:51:02,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-08 06:51:02,355 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 44 [2022-04-08 06:51:02,355 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:51:02,356 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-08 06:51:02,356 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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-08 06:51:02,356 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 77 transitions. [2022-04-08 06:51:02,442 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-08 06:51:02,443 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-08 06:51:02,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-08 06:51:02,445 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:51:02,445 INFO L499 BasicCegarLoop]: 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-08 06:51:02,468 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-08 06:51:02,668 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:51:02,669 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:51:02,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:51:02,669 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 1 times [2022-04-08 06:51:02,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:51:02,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1697759031] [2022-04-08 06:51:06,007 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:51:06,007 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:51:06,007 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:51:06,007 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 2 times [2022-04-08 06:51:06,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:51:06,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [985163420] [2022-04-08 06:51:06,008 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:51:06,008 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:51:06,020 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:51:06,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1728981639] [2022-04-08 06:51:06,021 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:51:06,021 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:51:06,021 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:51:06,027 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-08 06:51:06,029 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-08 06:51:06,088 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:51:06,088 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:51:06,089 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 06:51:06,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:51:06,108 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:51:06,599 INFO L272 TraceCheckUtils]: 0: Hoare triple {2405#true} call ULTIMATE.init(); {2405#true} is VALID [2022-04-08 06:51:06,599 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-08 06:51:06,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:06,599 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#true} {2405#true} #94#return; {2405#true} is VALID [2022-04-08 06:51:06,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#true} call #t~ret5 := main(); {2405#true} is VALID [2022-04-08 06:51:06,600 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-08 06:51:06,600 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-08 06:51:06,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:06,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:06,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:06,600 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2405#true} {2405#true} #78#return; {2405#true} is VALID [2022-04-08 06:51:06,601 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-08 06:51:06,607 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-08 06:51:06,607 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-08 06:51:06,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:06,612 INFO L290 TraceCheckUtils]: 15: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:06,612 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:06,613 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-08 06:51:06,613 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-08 06:51:06,613 INFO L290 TraceCheckUtils]: 19: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:06,613 INFO L290 TraceCheckUtils]: 20: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:06,613 INFO L290 TraceCheckUtils]: 21: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:06,614 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-08 06:51:06,614 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-08 06:51:06,614 INFO L290 TraceCheckUtils]: 24: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:06,614 INFO L290 TraceCheckUtils]: 25: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:06,615 INFO L290 TraceCheckUtils]: 26: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:06,615 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-08 06:51:06,616 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-08 06:51:06,616 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-08 06:51:06,616 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-08 06:51:06,616 INFO L290 TraceCheckUtils]: 31: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:06,617 INFO L290 TraceCheckUtils]: 32: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:06,617 INFO L290 TraceCheckUtils]: 33: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:06,617 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-08 06:51:06,617 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-08 06:51:06,618 INFO L290 TraceCheckUtils]: 36: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:06,618 INFO L290 TraceCheckUtils]: 37: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:06,618 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:06,618 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-08 06:51:06,619 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-08 06:51:06,619 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:06,619 INFO L290 TraceCheckUtils]: 42: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:06,619 INFO L290 TraceCheckUtils]: 43: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:06,619 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-08 06:51:06,620 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-08 06:51:06,620 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-08 06:51:06,621 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-08 06:51:06,621 INFO L290 TraceCheckUtils]: 48: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:06,621 INFO L290 TraceCheckUtils]: 49: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:06,621 INFO L290 TraceCheckUtils]: 50: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:06,622 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-08 06:51:06,622 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-08 06:51:06,622 INFO L290 TraceCheckUtils]: 53: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:06,622 INFO L290 TraceCheckUtils]: 54: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:06,622 INFO L290 TraceCheckUtils]: 55: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:06,623 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-08 06:51:06,623 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-08 06:51:06,624 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-08 06:51:06,625 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-08 06:51:06,625 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-08 06:51:06,626 INFO L290 TraceCheckUtils]: 61: Hoare triple {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2597#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:06,626 INFO L290 TraceCheckUtils]: 62: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2406#false} is VALID [2022-04-08 06:51:06,626 INFO L290 TraceCheckUtils]: 63: Hoare triple {2406#false} assume !false; {2406#false} is VALID [2022-04-08 06:51:06,626 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-08 06:51:06,627 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:51:09,504 INFO L290 TraceCheckUtils]: 63: Hoare triple {2406#false} assume !false; {2406#false} is VALID [2022-04-08 06:51:09,504 INFO L290 TraceCheckUtils]: 62: Hoare triple {2597#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2406#false} is VALID [2022-04-08 06:51:09,505 INFO L290 TraceCheckUtils]: 61: Hoare triple {2593#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2597#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:09,506 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-08 06:51:09,506 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-08 06:51:09,520 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-08 06:51:09,546 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-08 06:51:09,547 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-08 06:51:09,547 INFO L290 TraceCheckUtils]: 55: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:09,547 INFO L290 TraceCheckUtils]: 54: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:09,547 INFO L290 TraceCheckUtils]: 53: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:09,547 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-08 06:51:09,548 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-08 06:51:09,548 INFO L290 TraceCheckUtils]: 50: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:09,548 INFO L290 TraceCheckUtils]: 49: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:09,548 INFO L290 TraceCheckUtils]: 48: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:09,548 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-08 06:51:09,550 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-08 06:51:09,551 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-08 06:51:09,552 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-08 06:51:09,552 INFO L290 TraceCheckUtils]: 43: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:09,552 INFO L290 TraceCheckUtils]: 42: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:09,552 INFO L290 TraceCheckUtils]: 41: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:09,553 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-08 06:51:09,553 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-08 06:51:09,554 INFO L290 TraceCheckUtils]: 38: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:09,554 INFO L290 TraceCheckUtils]: 37: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:09,554 INFO L290 TraceCheckUtils]: 36: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:09,554 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-08 06:51:09,555 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-08 06:51:09,555 INFO L290 TraceCheckUtils]: 33: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:09,555 INFO L290 TraceCheckUtils]: 32: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:09,555 INFO L290 TraceCheckUtils]: 31: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:09,555 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-08 06:51:09,557 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-08 06:51:09,565 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-08 06:51:09,566 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-08 06:51:09,566 INFO L290 TraceCheckUtils]: 26: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:09,566 INFO L290 TraceCheckUtils]: 25: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:09,566 INFO L290 TraceCheckUtils]: 24: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:09,566 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-08 06:51:09,567 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-08 06:51:09,567 INFO L290 TraceCheckUtils]: 21: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:09,567 INFO L290 TraceCheckUtils]: 20: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:09,567 INFO L290 TraceCheckUtils]: 19: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:09,567 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-08 06:51:09,568 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-08 06:51:09,568 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:09,568 INFO L290 TraceCheckUtils]: 15: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:09,569 INFO L290 TraceCheckUtils]: 14: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:09,569 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-08 06:51:09,569 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-08 06:51:09,570 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-08 06:51:09,570 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2405#true} {2405#true} #78#return; {2405#true} is VALID [2022-04-08 06:51:09,570 INFO L290 TraceCheckUtils]: 9: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:09,570 INFO L290 TraceCheckUtils]: 8: Hoare triple {2405#true} assume !(0 == ~cond); {2405#true} is VALID [2022-04-08 06:51:09,570 INFO L290 TraceCheckUtils]: 7: Hoare triple {2405#true} ~cond := #in~cond; {2405#true} is VALID [2022-04-08 06:51:09,570 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-08 06:51:09,570 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-08 06:51:09,570 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#true} call #t~ret5 := main(); {2405#true} is VALID [2022-04-08 06:51:09,570 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#true} {2405#true} #94#return; {2405#true} is VALID [2022-04-08 06:51:09,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#true} assume true; {2405#true} is VALID [2022-04-08 06:51:09,571 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-08 06:51:09,571 INFO L272 TraceCheckUtils]: 0: Hoare triple {2405#true} call ULTIMATE.init(); {2405#true} is VALID [2022-04-08 06:51:09,571 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-08 06:51:09,572 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:51:09,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [985163420] [2022-04-08 06:51:09,572 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:51:09,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1728981639] [2022-04-08 06:51:09,572 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1728981639] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:51:09,572 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:51:09,572 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-08 06:51:09,572 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:51:09,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1697759031] [2022-04-08 06:51:09,573 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1697759031] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:51:09,573 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:51:09,573 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 06:51:09,573 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [583357241] [2022-04-08 06:51:09,573 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:51:09,573 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-08 06:51:09,574 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:51:09,574 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-08 06:51:09,614 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-08 06:51:09,614 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 06:51:09,614 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:51:09,614 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 06:51:09,614 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:51:09,615 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-08 06:51:10,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:51:10,279 INFO L93 Difference]: Finished difference Result 130 states and 164 transitions. [2022-04-08 06:51:10,279 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:51:10,279 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-08 06:51:10,279 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:51:10,279 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-08 06:51:10,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 107 transitions. [2022-04-08 06:51:10,282 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-08 06:51:10,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 107 transitions. [2022-04-08 06:51:10,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 107 transitions. [2022-04-08 06:51:10,395 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-08 06:51:10,398 INFO L225 Difference]: With dead ends: 130 [2022-04-08 06:51:10,398 INFO L226 Difference]: Without dead ends: 101 [2022-04-08 06:51:10,399 INFO L912 BasicCegarLoop]: 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-08 06:51:10,399 INFO L913 BasicCegarLoop]: 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-08 06:51:10,399 INFO L914 BasicCegarLoop]: 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-08 06:51:10,400 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-08 06:51:10,447 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 99. [2022-04-08 06:51:10,448 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:51:10,448 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-08 06:51:10,448 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-08 06:51:10,449 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-08 06:51:10,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:51:10,453 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-08 06:51:10,453 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-08 06:51:10,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:51:10,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:51:10,454 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-08 06:51:10,454 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-08 06:51:10,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:51:10,458 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-08 06:51:10,458 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-08 06:51:10,458 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:51:10,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:51:10,458 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:51:10,458 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:51:10,459 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-08 06:51:10,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 117 transitions. [2022-04-08 06:51:10,463 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 117 transitions. Word has length 64 [2022-04-08 06:51:10,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:51:10,463 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 117 transitions. [2022-04-08 06:51:10,463 INFO L479 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-08 06:51:10,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 117 transitions. [2022-04-08 06:51:10,597 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-08 06:51:10,597 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 117 transitions. [2022-04-08 06:51:10,598 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 06:51:10,598 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:51:10,598 INFO L499 BasicCegarLoop]: 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-08 06:51:10,618 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-08 06:51:10,811 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:51:10,811 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:51:10,812 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:51:10,812 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 3 times [2022-04-08 06:51:10,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:51:10,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [76118240] [2022-04-08 06:51:14,926 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:51:14,927 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:51:14,927 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:51:14,927 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 4 times [2022-04-08 06:51:14,927 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:51:14,927 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1409854497] [2022-04-08 06:51:14,927 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:51:14,927 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:51:14,939 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:51:14,939 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1444674309] [2022-04-08 06:51:14,939 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:51:14,939 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:51:14,939 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:51:14,949 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-08 06:51:14,976 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-08 06:51:15,007 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:51:15,007 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:51:15,008 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 06:51:15,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:51:15,028 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:51:15,368 INFO L272 TraceCheckUtils]: 0: Hoare triple {3460#true} call ULTIMATE.init(); {3460#true} is VALID [2022-04-08 06:51:15,368 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-08 06:51:15,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:15,368 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3460#true} {3460#true} #94#return; {3460#true} is VALID [2022-04-08 06:51:15,368 INFO L272 TraceCheckUtils]: 4: Hoare triple {3460#true} call #t~ret5 := main(); {3460#true} is VALID [2022-04-08 06:51:15,369 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-08 06:51:15,369 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-08 06:51:15,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:15,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:15,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:15,369 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3460#true} {3460#true} #78#return; {3460#true} is VALID [2022-04-08 06:51:15,370 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-08 06:51:15,370 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-08 06:51:15,370 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-08 06:51:15,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:15,371 INFO L290 TraceCheckUtils]: 15: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:15,371 INFO L290 TraceCheckUtils]: 16: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:15,371 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-08 06:51:15,372 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-08 06:51:15,372 INFO L290 TraceCheckUtils]: 19: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:15,372 INFO L290 TraceCheckUtils]: 20: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:15,372 INFO L290 TraceCheckUtils]: 21: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:15,373 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-08 06:51:15,373 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-08 06:51:15,373 INFO L290 TraceCheckUtils]: 24: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:15,373 INFO L290 TraceCheckUtils]: 25: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:15,373 INFO L290 TraceCheckUtils]: 26: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:15,374 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-08 06:51:15,374 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-08 06:51:15,375 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-08 06:51:15,375 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-08 06:51:15,375 INFO L290 TraceCheckUtils]: 31: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:15,375 INFO L290 TraceCheckUtils]: 32: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:15,375 INFO L290 TraceCheckUtils]: 33: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:15,376 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-08 06:51:15,376 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-08 06:51:15,376 INFO L290 TraceCheckUtils]: 36: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:15,376 INFO L290 TraceCheckUtils]: 37: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:15,376 INFO L290 TraceCheckUtils]: 38: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:15,377 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-08 06:51:15,377 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-08 06:51:15,377 INFO L290 TraceCheckUtils]: 41: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:15,377 INFO L290 TraceCheckUtils]: 42: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:15,377 INFO L290 TraceCheckUtils]: 43: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:15,378 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-08 06:51:15,378 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-08 06:51:15,379 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-08 06:51:15,379 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-08 06:51:15,379 INFO L290 TraceCheckUtils]: 48: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:15,379 INFO L290 TraceCheckUtils]: 49: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:15,379 INFO L290 TraceCheckUtils]: 50: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:15,380 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-08 06:51:15,380 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-08 06:51:15,380 INFO L290 TraceCheckUtils]: 53: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:15,380 INFO L290 TraceCheckUtils]: 54: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:15,381 INFO L290 TraceCheckUtils]: 55: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:15,381 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-08 06:51:15,382 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-08 06:51:15,382 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-08 06:51:15,383 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-08 06:51:15,383 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-08 06:51:15,383 INFO L290 TraceCheckUtils]: 61: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:15,383 INFO L290 TraceCheckUtils]: 62: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:15,383 INFO L290 TraceCheckUtils]: 63: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:15,384 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-08 06:51:15,385 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-08 06:51:15,385 INFO L290 TraceCheckUtils]: 66: Hoare triple {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3666#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:15,385 INFO L290 TraceCheckUtils]: 67: Hoare triple {3666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3461#false} is VALID [2022-04-08 06:51:15,385 INFO L290 TraceCheckUtils]: 68: Hoare triple {3461#false} assume !false; {3461#false} is VALID [2022-04-08 06:51:15,386 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-08 06:51:15,386 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:51:20,120 INFO L290 TraceCheckUtils]: 68: Hoare triple {3461#false} assume !false; {3461#false} is VALID [2022-04-08 06:51:20,121 INFO L290 TraceCheckUtils]: 67: Hoare triple {3666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3461#false} is VALID [2022-04-08 06:51:20,121 INFO L290 TraceCheckUtils]: 66: Hoare triple {3662#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3666#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:20,122 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-08 06:51:20,122 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-08 06:51:20,122 INFO L290 TraceCheckUtils]: 63: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:20,122 INFO L290 TraceCheckUtils]: 62: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:20,122 INFO L290 TraceCheckUtils]: 61: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:20,123 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-08 06:51:20,123 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-08 06:51:20,123 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-08 06:51:20,135 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-08 06:51:20,136 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-08 06:51:20,136 INFO L290 TraceCheckUtils]: 55: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:20,136 INFO L290 TraceCheckUtils]: 54: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:20,136 INFO L290 TraceCheckUtils]: 53: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:20,136 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-08 06:51:20,137 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-08 06:51:20,137 INFO L290 TraceCheckUtils]: 50: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:20,137 INFO L290 TraceCheckUtils]: 49: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:20,137 INFO L290 TraceCheckUtils]: 48: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:20,137 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-08 06:51:20,138 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-08 06:51:20,139 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-08 06:51:20,139 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-08 06:51:20,139 INFO L290 TraceCheckUtils]: 43: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:20,139 INFO L290 TraceCheckUtils]: 42: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:20,139 INFO L290 TraceCheckUtils]: 41: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:20,139 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-08 06:51:20,140 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-08 06:51:20,140 INFO L290 TraceCheckUtils]: 38: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:20,140 INFO L290 TraceCheckUtils]: 37: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:20,140 INFO L290 TraceCheckUtils]: 36: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:20,140 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-08 06:51:20,141 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-08 06:51:20,141 INFO L290 TraceCheckUtils]: 33: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:20,141 INFO L290 TraceCheckUtils]: 32: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:20,141 INFO L290 TraceCheckUtils]: 31: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:20,141 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-08 06:51:20,142 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-08 06:51:20,147 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-08 06:51:20,147 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-08 06:51:20,147 INFO L290 TraceCheckUtils]: 26: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:20,147 INFO L290 TraceCheckUtils]: 25: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:20,147 INFO L290 TraceCheckUtils]: 24: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:20,147 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-08 06:51:20,148 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-08 06:51:20,148 INFO L290 TraceCheckUtils]: 21: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:20,148 INFO L290 TraceCheckUtils]: 20: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:20,148 INFO L290 TraceCheckUtils]: 19: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:20,148 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-08 06:51:20,149 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-08 06:51:20,149 INFO L290 TraceCheckUtils]: 16: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:20,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:20,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:20,149 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-08 06:51:20,149 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-08 06:51:20,149 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-08 06:51:20,150 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3460#true} {3460#true} #78#return; {3460#true} is VALID [2022-04-08 06:51:20,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:20,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {3460#true} assume !(0 == ~cond); {3460#true} is VALID [2022-04-08 06:51:20,150 INFO L290 TraceCheckUtils]: 7: Hoare triple {3460#true} ~cond := #in~cond; {3460#true} is VALID [2022-04-08 06:51:20,150 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-08 06:51:20,150 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-08 06:51:20,150 INFO L272 TraceCheckUtils]: 4: Hoare triple {3460#true} call #t~ret5 := main(); {3460#true} is VALID [2022-04-08 06:51:20,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3460#true} {3460#true} #94#return; {3460#true} is VALID [2022-04-08 06:51:20,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {3460#true} assume true; {3460#true} is VALID [2022-04-08 06:51:20,150 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-08 06:51:20,150 INFO L272 TraceCheckUtils]: 0: Hoare triple {3460#true} call ULTIMATE.init(); {3460#true} is VALID [2022-04-08 06:51:20,151 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-08 06:51:20,151 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:51:20,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1409854497] [2022-04-08 06:51:20,151 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:51:20,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1444674309] [2022-04-08 06:51:20,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1444674309] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:51:20,151 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:51:20,151 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-08 06:51:20,151 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:51:20,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [76118240] [2022-04-08 06:51:20,152 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [76118240] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:51:20,152 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:51:20,152 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:51:20,152 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [239477921] [2022-04-08 06:51:20,152 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:51:20,152 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-08 06:51:20,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:51:20,153 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-08 06:51:20,186 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-08 06:51:20,186 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:51:20,186 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:51:20,186 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:51:20,186 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 06:51:20,186 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-08 06:51:20,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:51:20,507 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2022-04-08 06:51:20,507 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 06:51:20,507 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-08 06:51:20,508 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:51:20,508 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-08 06:51:20,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-08 06:51:20,510 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-08 06:51:20,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-08 06:51:20,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 93 transitions. [2022-04-08 06:51:20,591 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-08 06:51:20,594 INFO L225 Difference]: With dead ends: 126 [2022-04-08 06:51:20,594 INFO L226 Difference]: Without dead ends: 103 [2022-04-08 06:51:20,595 INFO L912 BasicCegarLoop]: 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-08 06:51:20,596 INFO L913 BasicCegarLoop]: 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-08 06:51:20,596 INFO L914 BasicCegarLoop]: 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-08 06:51:20,596 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-08 06:51:20,648 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-08 06:51:20,648 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:51:20,649 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-08 06:51:20,649 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-08 06:51:20,649 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-08 06:51:20,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:51:20,654 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-08 06:51:20,654 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 06:51:20,654 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:51:20,654 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:51:20,655 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-08 06:51:20,655 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-08 06:51:20,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:51:20,659 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-08 06:51:20,659 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 06:51:20,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:51:20,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:51:20,660 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:51:20,660 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:51:20,661 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-08 06:51:20,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 118 transitions. [2022-04-08 06:51:20,665 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 118 transitions. Word has length 69 [2022-04-08 06:51:20,665 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:51:20,665 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 118 transitions. [2022-04-08 06:51:20,665 INFO L479 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-08 06:51:20,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 118 transitions. [2022-04-08 06:51:20,790 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-08 06:51:20,790 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 06:51:20,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 06:51:20,791 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:51:20,791 INFO L499 BasicCegarLoop]: 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-08 06:51:20,807 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-08 06:51:20,995 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:51:20,996 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:51:20,996 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:51:20,996 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 1 times [2022-04-08 06:51:20,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:51:20,996 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [7748352] [2022-04-08 06:51:23,184 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:51:23,185 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:51:23,185 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:51:23,185 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 2 times [2022-04-08 06:51:23,185 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:51:23,185 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1466438473] [2022-04-08 06:51:23,185 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:51:23,185 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:51:23,197 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:51:23,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2103143273] [2022-04-08 06:51:23,198 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:51:23,198 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:51:23,198 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:51:23,204 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-08 06:51:23,236 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-08 06:51:23,272 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:51:23,273 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:51:23,274 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 06:51:23,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:51:23,292 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:51:23,904 INFO L272 TraceCheckUtils]: 0: Hoare triple {4547#true} call ULTIMATE.init(); {4547#true} is VALID [2022-04-08 06:51:23,904 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-08 06:51:23,904 INFO L290 TraceCheckUtils]: 2: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:23,904 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4547#true} {4547#true} #94#return; {4547#true} is VALID [2022-04-08 06:51:23,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {4547#true} call #t~ret5 := main(); {4547#true} is VALID [2022-04-08 06:51:23,905 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-08 06:51:23,905 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-08 06:51:23,905 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:23,905 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:23,905 INFO L290 TraceCheckUtils]: 9: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:23,905 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4547#true} {4547#true} #78#return; {4547#true} is VALID [2022-04-08 06:51:23,907 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-08 06:51:23,908 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-08 06:51:23,908 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-08 06:51:23,908 INFO L290 TraceCheckUtils]: 14: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:23,908 INFO L290 TraceCheckUtils]: 15: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:23,908 INFO L290 TraceCheckUtils]: 16: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:23,909 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-08 06:51:23,909 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-08 06:51:23,910 INFO L290 TraceCheckUtils]: 19: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:23,910 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-08 06:51:23,910 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-08 06:51:23,911 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-08 06:51:23,911 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-08 06:51:23,911 INFO L290 TraceCheckUtils]: 24: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:23,911 INFO L290 TraceCheckUtils]: 25: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:23,912 INFO L290 TraceCheckUtils]: 26: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:23,912 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-08 06:51:23,913 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-08 06:51:23,913 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-08 06:51:23,913 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-08 06:51:23,914 INFO L290 TraceCheckUtils]: 31: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:23,914 INFO L290 TraceCheckUtils]: 32: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:23,914 INFO L290 TraceCheckUtils]: 33: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:23,915 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-08 06:51:23,915 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-08 06:51:23,915 INFO L290 TraceCheckUtils]: 36: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:23,915 INFO L290 TraceCheckUtils]: 37: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:23,915 INFO L290 TraceCheckUtils]: 38: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:23,916 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-08 06:51:23,916 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-08 06:51:23,916 INFO L290 TraceCheckUtils]: 41: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:23,916 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:23,916 INFO L290 TraceCheckUtils]: 43: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:23,917 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-08 06:51:23,917 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-08 06:51:23,918 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-08 06:51:23,918 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-08 06:51:23,918 INFO L290 TraceCheckUtils]: 48: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:23,918 INFO L290 TraceCheckUtils]: 49: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:23,918 INFO L290 TraceCheckUtils]: 50: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:23,919 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-08 06:51:23,919 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-08 06:51:23,919 INFO L290 TraceCheckUtils]: 53: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:23,919 INFO L290 TraceCheckUtils]: 54: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:23,919 INFO L290 TraceCheckUtils]: 55: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:23,920 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-08 06:51:23,920 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-08 06:51:23,921 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-08 06:51:23,921 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-08 06:51:23,921 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-08 06:51:23,922 INFO L290 TraceCheckUtils]: 61: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:23,922 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-08 06:51:23,922 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-08 06:51:23,923 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-08 06:51:23,923 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-08 06:51:23,923 INFO L290 TraceCheckUtils]: 66: Hoare triple {4547#true} ~cond := #in~cond; {4610#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:23,924 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-08 06:51:23,924 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-08 06:51:23,925 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-08 06:51:23,925 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-08 06:51:23,926 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-08 06:51:23,926 INFO L290 TraceCheckUtils]: 72: Hoare triple {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:23,926 INFO L290 TraceCheckUtils]: 73: Hoare triple {4777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4548#false} is VALID [2022-04-08 06:51:23,926 INFO L290 TraceCheckUtils]: 74: Hoare triple {4548#false} assume !false; {4548#false} is VALID [2022-04-08 06:51:23,927 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-08 06:51:23,927 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:51:31,706 INFO L290 TraceCheckUtils]: 74: Hoare triple {4548#false} assume !false; {4548#false} is VALID [2022-04-08 06:51:31,707 INFO L290 TraceCheckUtils]: 73: Hoare triple {4777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4548#false} is VALID [2022-04-08 06:51:31,707 INFO L290 TraceCheckUtils]: 72: Hoare triple {4773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:31,708 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-08 06:51:31,708 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-08 06:51:31,709 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-08 06:51:31,709 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-08 06:51:31,710 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-08 06:51:31,710 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-08 06:51:31,710 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-08 06:51:31,713 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-08 06:51:31,713 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-08 06:51:31,713 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-08 06:51:31,714 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-08 06:51:31,714 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-08 06:51:31,714 INFO L290 TraceCheckUtils]: 59: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 06:51:31,714 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-08 06:51:31,714 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-08 06:51:31,714 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4547#true} {4547#true} #88#return; {4547#true} is VALID [2022-04-08 06:51:31,714 INFO L290 TraceCheckUtils]: 55: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:31,714 INFO L290 TraceCheckUtils]: 54: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:31,714 INFO L290 TraceCheckUtils]: 53: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:31,714 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-08 06:51:31,715 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4547#true} {4547#true} #86#return; {4547#true} is VALID [2022-04-08 06:51:31,715 INFO L290 TraceCheckUtils]: 50: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:31,715 INFO L290 TraceCheckUtils]: 49: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:31,715 INFO L290 TraceCheckUtils]: 48: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:31,715 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-08 06:51:31,715 INFO L290 TraceCheckUtils]: 46: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 06:51:31,715 INFO L290 TraceCheckUtils]: 45: Hoare triple {4547#true} assume !(~r~0 >= ~d~0); {4547#true} is VALID [2022-04-08 06:51:31,715 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4547#true} {4547#true} #84#return; {4547#true} is VALID [2022-04-08 06:51:31,715 INFO L290 TraceCheckUtils]: 43: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:31,715 INFO L290 TraceCheckUtils]: 42: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:31,715 INFO L290 TraceCheckUtils]: 41: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:31,716 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-08 06:51:31,716 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4547#true} {4547#true} #82#return; {4547#true} is VALID [2022-04-08 06:51:31,716 INFO L290 TraceCheckUtils]: 38: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:31,716 INFO L290 TraceCheckUtils]: 37: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:31,716 INFO L290 TraceCheckUtils]: 36: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:31,716 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-08 06:51:31,716 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4547#true} {4547#true} #80#return; {4547#true} is VALID [2022-04-08 06:51:31,716 INFO L290 TraceCheckUtils]: 33: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:31,716 INFO L290 TraceCheckUtils]: 32: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:31,716 INFO L290 TraceCheckUtils]: 31: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:31,716 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-08 06:51:31,716 INFO L290 TraceCheckUtils]: 29: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 06:51:31,716 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-08 06:51:31,717 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4547#true} {4547#true} #84#return; {4547#true} is VALID [2022-04-08 06:51:31,717 INFO L290 TraceCheckUtils]: 26: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:31,717 INFO L290 TraceCheckUtils]: 25: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:31,717 INFO L290 TraceCheckUtils]: 24: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:31,717 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-08 06:51:31,717 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4547#true} {4547#true} #82#return; {4547#true} is VALID [2022-04-08 06:51:31,717 INFO L290 TraceCheckUtils]: 21: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:31,717 INFO L290 TraceCheckUtils]: 20: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:31,717 INFO L290 TraceCheckUtils]: 19: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:31,717 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-08 06:51:31,717 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4547#true} {4547#true} #80#return; {4547#true} is VALID [2022-04-08 06:51:31,717 INFO L290 TraceCheckUtils]: 16: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:31,718 INFO L290 TraceCheckUtils]: 15: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:31,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:31,718 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-08 06:51:31,718 INFO L290 TraceCheckUtils]: 12: Hoare triple {4547#true} assume !false; {4547#true} is VALID [2022-04-08 06:51:31,718 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-08 06:51:31,718 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4547#true} {4547#true} #78#return; {4547#true} is VALID [2022-04-08 06:51:31,718 INFO L290 TraceCheckUtils]: 9: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:31,718 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#true} assume !(0 == ~cond); {4547#true} is VALID [2022-04-08 06:51:31,718 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#true} ~cond := #in~cond; {4547#true} is VALID [2022-04-08 06:51:31,718 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-08 06:51:31,718 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-08 06:51:31,719 INFO L272 TraceCheckUtils]: 4: Hoare triple {4547#true} call #t~ret5 := main(); {4547#true} is VALID [2022-04-08 06:51:31,719 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4547#true} {4547#true} #94#return; {4547#true} is VALID [2022-04-08 06:51:31,719 INFO L290 TraceCheckUtils]: 2: Hoare triple {4547#true} assume true; {4547#true} is VALID [2022-04-08 06:51:31,719 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-08 06:51:31,719 INFO L272 TraceCheckUtils]: 0: Hoare triple {4547#true} call ULTIMATE.init(); {4547#true} is VALID [2022-04-08 06:51:31,719 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-08 06:51:31,719 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:51:31,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1466438473] [2022-04-08 06:51:31,720 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:51:31,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2103143273] [2022-04-08 06:51:31,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2103143273] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:51:31,720 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:51:31,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-08 06:51:31,720 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:51:31,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [7748352] [2022-04-08 06:51:31,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [7748352] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:51:31,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:51:31,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 06:51:31,721 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1549158512] [2022-04-08 06:51:31,721 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:51:31,721 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-08 06:51:31,721 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:51:31,722 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-08 06:51:31,772 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-08 06:51:31,772 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 06:51:31,772 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:51:31,773 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 06:51:31,773 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-08 06:51:31,773 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-08 06:51:32,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:51:32,710 INFO L93 Difference]: Finished difference Result 109 states and 123 transitions. [2022-04-08 06:51:32,710 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 06:51:32,710 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-08 06:51:32,710 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:51:32,710 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-08 06:51:32,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-08 06:51:32,712 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-08 06:51:32,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-08 06:51:32,713 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 74 transitions. [2022-04-08 06:51:32,787 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-08 06:51:32,789 INFO L225 Difference]: With dead ends: 109 [2022-04-08 06:51:32,789 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 06:51:32,789 INFO L912 BasicCegarLoop]: 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-08 06:51:32,790 INFO L913 BasicCegarLoop]: 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-08 06:51:32,790 INFO L914 BasicCegarLoop]: 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-08 06:51:32,790 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 06:51:32,825 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-08 06:51:32,825 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:51:32,825 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-08 06:51:32,826 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-08 06:51:32,826 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-08 06:51:32,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:51:32,829 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-08 06:51:32,829 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-08 06:51:32,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:51:32,829 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:51:32,829 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-08 06:51:32,830 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-08 06:51:32,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:51:32,832 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-08 06:51:32,832 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-08 06:51:32,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:51:32,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:51:32,832 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:51:32,832 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:51:32,833 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-08 06:51:32,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 94 transitions. [2022-04-08 06:51:32,834 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 94 transitions. Word has length 75 [2022-04-08 06:51:32,835 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:51:32,835 INFO L478 AbstractCegarLoop]: Abstraction has 81 states and 94 transitions. [2022-04-08 06:51:32,835 INFO L479 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-08 06:51:32,835 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 94 transitions. [2022-04-08 06:51:32,933 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-08 06:51:32,933 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 94 transitions. [2022-04-08 06:51:32,934 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 06:51:32,934 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:51:32,934 INFO L499 BasicCegarLoop]: 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-08 06:51:32,953 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-08 06:51:33,139 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:51:33,140 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:51:33,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:51:33,140 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 5 times [2022-04-08 06:51:33,140 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:51:33,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [490339497] [2022-04-08 06:51:37,240 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:51:37,241 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:51:37,241 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:51:37,241 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 6 times [2022-04-08 06:51:37,241 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:51:37,241 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [864264956] [2022-04-08 06:51:37,241 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:51:37,241 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:51:37,252 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:51:37,253 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1790981304] [2022-04-08 06:51:37,253 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 06:51:37,253 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:51:37,253 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:51:37,260 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-08 06:51:37,265 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-08 06:51:37,309 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 06:51:37,310 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:51:37,311 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 06:51:37,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:51:37,326 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:51:42,696 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 06:51:46,298 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 06:51:46,689 INFO L272 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2022-04-08 06:51:46,690 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-08 06:51:46,690 INFO L290 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:46,690 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #94#return; {5558#true} is VALID [2022-04-08 06:51:46,690 INFO L272 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret5 := main(); {5558#true} is VALID [2022-04-08 06:51:46,690 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-08 06:51:46,690 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-08 06:51:46,690 INFO L290 TraceCheckUtils]: 7: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:46,693 INFO L290 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:46,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:46,693 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5558#true} {5558#true} #78#return; {5558#true} is VALID [2022-04-08 06:51:46,694 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-08 06:51:46,694 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-08 06:51:46,694 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-08 06:51:46,694 INFO L290 TraceCheckUtils]: 14: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:46,694 INFO L290 TraceCheckUtils]: 15: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:46,694 INFO L290 TraceCheckUtils]: 16: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:46,695 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-08 06:51:46,695 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-08 06:51:46,695 INFO L290 TraceCheckUtils]: 19: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:46,695 INFO L290 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:46,695 INFO L290 TraceCheckUtils]: 21: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:46,696 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-08 06:51:46,696 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-08 06:51:46,696 INFO L290 TraceCheckUtils]: 24: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:46,696 INFO L290 TraceCheckUtils]: 25: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:46,696 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:46,697 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-08 06:51:46,697 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-08 06:51:46,697 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-08 06:51:46,698 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-08 06:51:46,698 INFO L290 TraceCheckUtils]: 31: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:46,698 INFO L290 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:46,698 INFO L290 TraceCheckUtils]: 33: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:46,698 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-08 06:51:46,699 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-08 06:51:46,699 INFO L290 TraceCheckUtils]: 36: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:46,699 INFO L290 TraceCheckUtils]: 37: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:46,699 INFO L290 TraceCheckUtils]: 38: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:46,699 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-08 06:51:46,700 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-08 06:51:46,700 INFO L290 TraceCheckUtils]: 41: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:46,700 INFO L290 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:46,700 INFO L290 TraceCheckUtils]: 43: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:46,700 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-08 06:51:46,701 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-08 06:51:46,702 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-08 06:51:46,702 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-08 06:51:46,702 INFO L290 TraceCheckUtils]: 48: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:46,702 INFO L290 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:46,702 INFO L290 TraceCheckUtils]: 50: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:46,703 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-08 06:51:46,703 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-08 06:51:46,703 INFO L290 TraceCheckUtils]: 53: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:46,703 INFO L290 TraceCheckUtils]: 54: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:46,703 INFO L290 TraceCheckUtils]: 55: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:46,704 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-08 06:51:46,704 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-08 06:51:46,704 INFO L290 TraceCheckUtils]: 58: Hoare triple {5558#true} ~cond := #in~cond; {5739#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:46,704 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-08 06:51:46,705 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-08 06:51:46,705 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-08 06:51:46,706 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-08 06:51:46,706 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-08 06:51:46,707 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-08 06:51:46,707 INFO L290 TraceCheckUtils]: 65: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:46,707 INFO L290 TraceCheckUtils]: 66: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:46,707 INFO L290 TraceCheckUtils]: 67: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:46,707 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-08 06:51:46,708 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-08 06:51:46,708 INFO L290 TraceCheckUtils]: 70: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:51:46,708 INFO L290 TraceCheckUtils]: 71: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:51:46,708 INFO L290 TraceCheckUtils]: 72: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:51:46,708 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-08 06:51:46,710 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-08 06:51:46,710 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-08 06:51:46,711 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-08 06:51:46,712 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-08 06:51:46,712 INFO L290 TraceCheckUtils]: 78: Hoare triple {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5805#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:51:46,713 INFO L290 TraceCheckUtils]: 79: Hoare triple {5805#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5559#false} is VALID [2022-04-08 06:51:46,713 INFO L290 TraceCheckUtils]: 80: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2022-04-08 06:51:46,713 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-08 06:51:46,713 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:52:19,940 WARN L232 SmtUtils]: Spent 10.44s on a formula simplification that was a NOOP. DAG size: 50 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 06:53:06,992 INFO L290 TraceCheckUtils]: 80: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2022-04-08 06:53:06,993 INFO L290 TraceCheckUtils]: 79: Hoare triple {5805#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5559#false} is VALID [2022-04-08 06:53:06,993 INFO L290 TraceCheckUtils]: 78: Hoare triple {5801#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5805#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:53:06,994 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-08 06:53:06,994 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-08 06:53:07,008 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-08 06:53:07,024 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-08 06:53:07,025 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-08 06:53:07,025 INFO L290 TraceCheckUtils]: 72: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:53:07,025 INFO L290 TraceCheckUtils]: 71: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:53:07,025 INFO L290 TraceCheckUtils]: 70: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:53:07,025 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-08 06:53:07,026 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-08 06:53:07,026 INFO L290 TraceCheckUtils]: 67: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:53:07,026 INFO L290 TraceCheckUtils]: 66: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:53:07,026 INFO L290 TraceCheckUtils]: 65: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:53:07,026 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-08 06:53:07,027 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-08 06:53:07,028 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-08 06:53:07,029 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-08 06:53:07,029 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-08 06:53:07,029 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-08 06:53:07,030 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-08 06:53:07,030 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-08 06:53:07,030 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-08 06:53:07,030 INFO L290 TraceCheckUtils]: 55: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:53:07,030 INFO L290 TraceCheckUtils]: 54: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:53:07,031 INFO L290 TraceCheckUtils]: 53: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:53:07,031 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-08 06:53:07,031 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-08 06:53:07,031 INFO L290 TraceCheckUtils]: 50: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:53:07,031 INFO L290 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:53:07,031 INFO L290 TraceCheckUtils]: 48: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:53:07,031 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-08 06:53:07,032 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-08 06:53:07,037 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-08 06:53:07,038 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-08 06:53:07,038 INFO L290 TraceCheckUtils]: 43: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:53:07,038 INFO L290 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:53:07,038 INFO L290 TraceCheckUtils]: 41: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:53:07,038 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-08 06:53:07,038 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-08 06:53:07,038 INFO L290 TraceCheckUtils]: 38: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:53:07,039 INFO L290 TraceCheckUtils]: 37: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:53:07,039 INFO L290 TraceCheckUtils]: 36: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:53:07,039 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-08 06:53:07,039 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-08 06:53:07,039 INFO L290 TraceCheckUtils]: 33: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:53:07,039 INFO L290 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:53:07,039 INFO L290 TraceCheckUtils]: 31: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:53:07,039 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-08 06:53:07,040 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-08 06:53:07,040 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-08 06:53:07,040 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-08 06:53:07,041 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:53:07,041 INFO L290 TraceCheckUtils]: 25: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:53:07,041 INFO L290 TraceCheckUtils]: 24: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:53:07,041 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-08 06:53:07,041 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-08 06:53:07,041 INFO L290 TraceCheckUtils]: 21: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:53:07,041 INFO L290 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:53:07,041 INFO L290 TraceCheckUtils]: 19: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:53:07,041 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-08 06:53:07,042 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-08 06:53:07,042 INFO L290 TraceCheckUtils]: 16: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:53:07,042 INFO L290 TraceCheckUtils]: 15: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:53:07,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:53:07,042 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-08 06:53:07,042 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-08 06:53:07,043 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-08 06:53:07,043 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5558#true} {5558#true} #78#return; {5558#true} is VALID [2022-04-08 06:53:07,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:53:07,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !(0 == ~cond); {5558#true} is VALID [2022-04-08 06:53:07,043 INFO L290 TraceCheckUtils]: 7: Hoare triple {5558#true} ~cond := #in~cond; {5558#true} is VALID [2022-04-08 06:53:07,043 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-08 06:53:07,043 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-08 06:53:07,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret5 := main(); {5558#true} is VALID [2022-04-08 06:53:07,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #94#return; {5558#true} is VALID [2022-04-08 06:53:07,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2022-04-08 06:53:07,043 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-08 06:53:07,043 INFO L272 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2022-04-08 06:53:07,044 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 45 proven. 19 refuted. 0 times theorem prover too weak. 195 trivial. 0 not checked. [2022-04-08 06:53:07,044 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:53:07,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [864264956] [2022-04-08 06:53:07,044 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:53:07,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1790981304] [2022-04-08 06:53:07,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1790981304] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:53:07,044 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:53:07,044 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-08 06:53:07,044 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:53:07,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [490339497] [2022-04-08 06:53:07,045 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [490339497] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:53:07,045 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:53:07,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 06:53:07,045 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1712140729] [2022-04-08 06:53:07,045 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:53:07,045 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-08 06:53:07,046 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:53:07,046 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-08 06:53:07,085 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-08 06:53:07,085 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 06:53:07,085 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:53:07,085 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 06:53:07,085 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2022-04-08 06:53:07,085 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-08 06:53:09,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:53:09,750 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-08 06:53:09,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 06:53:09,751 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-08 06:53:09,751 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:53:09,751 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-08 06:53:09,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-08 06:53:09,753 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-08 06:53:09,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2022-04-08 06:53:09,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2022-04-08 06:53:09,834 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-08 06:53:09,836 INFO L225 Difference]: With dead ends: 106 [2022-04-08 06:53:09,836 INFO L226 Difference]: Without dead ends: 94 [2022-04-08 06:53:09,836 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 146 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 12.7s TimeCoverageRelationStatistics Valid=70, Invalid=235, Unknown=1, NotChecked=0, Total=306 [2022-04-08 06:53:09,837 INFO L913 BasicCegarLoop]: 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-08 06:53:09,837 INFO L914 BasicCegarLoop]: 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-08 06:53:09,837 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-08 06:53:09,892 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 91. [2022-04-08 06:53:09,892 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:53:09,892 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-08 06:53:09,892 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-08 06:53:09,893 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-08 06:53:09,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:53:09,895 INFO L93 Difference]: Finished difference Result 94 states and 111 transitions. [2022-04-08 06:53:09,895 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 111 transitions. [2022-04-08 06:53:09,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:53:09,896 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:53:09,896 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-08 06:53:09,896 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-08 06:53:09,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:53:09,898 INFO L93 Difference]: Finished difference Result 94 states and 111 transitions. [2022-04-08 06:53:09,898 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 111 transitions. [2022-04-08 06:53:09,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:53:09,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:53:09,899 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:53:09,899 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:53:09,899 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-08 06:53:09,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 107 transitions. [2022-04-08 06:53:09,901 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 107 transitions. Word has length 81 [2022-04-08 06:53:09,902 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:53:09,902 INFO L478 AbstractCegarLoop]: Abstraction has 91 states and 107 transitions. [2022-04-08 06:53:09,902 INFO L479 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-08 06:53:09,902 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 107 transitions. [2022-04-08 06:53:10,033 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:53:10,033 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-08 06:53:10,034 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 06:53:10,034 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:53:10,034 INFO L499 BasicCegarLoop]: 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-08 06:53:10,053 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 06:53:10,239 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:53:10,241 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:53:10,242 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:53:10,242 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 7 times [2022-04-08 06:53:10,242 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:53:10,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [399951149] [2022-04-08 06:53:14,339 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:53:14,339 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:53:14,339 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:53:14,339 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 8 times [2022-04-08 06:53:14,339 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:53:14,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2086803077] [2022-04-08 06:53:14,340 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:53:14,340 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:53:14,349 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:53:14,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2037316778] [2022-04-08 06:53:14,350 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:53:14,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:53:14,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:53:14,364 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-08 06:53:14,385 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-08 06:53:14,419 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:53:14,419 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:53:14,420 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 06:53:14,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:53:14,434 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:53:14,792 INFO L272 TraceCheckUtils]: 0: Hoare triple {6645#true} call ULTIMATE.init(); {6645#true} is VALID [2022-04-08 06:53:14,792 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-08 06:53:14,792 INFO L290 TraceCheckUtils]: 2: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,792 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6645#true} {6645#true} #94#return; {6645#true} is VALID [2022-04-08 06:53:14,792 INFO L272 TraceCheckUtils]: 4: Hoare triple {6645#true} call #t~ret5 := main(); {6645#true} is VALID [2022-04-08 06:53:14,793 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-08 06:53:14,793 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-08 06:53:14,793 INFO L290 TraceCheckUtils]: 7: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,793 INFO L290 TraceCheckUtils]: 8: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,793 INFO L290 TraceCheckUtils]: 9: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,793 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6645#true} {6645#true} #78#return; {6645#true} is VALID [2022-04-08 06:53:14,793 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-08 06:53:14,794 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-08 06:53:14,794 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-08 06:53:14,794 INFO L290 TraceCheckUtils]: 14: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,794 INFO L290 TraceCheckUtils]: 15: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,794 INFO L290 TraceCheckUtils]: 16: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,794 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-08 06:53:14,794 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-08 06:53:14,794 INFO L290 TraceCheckUtils]: 19: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,795 INFO L290 TraceCheckUtils]: 20: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,795 INFO L290 TraceCheckUtils]: 21: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,795 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-08 06:53:14,795 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-08 06:53:14,795 INFO L290 TraceCheckUtils]: 24: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,795 INFO L290 TraceCheckUtils]: 25: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,795 INFO L290 TraceCheckUtils]: 26: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,796 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-08 06:53:14,796 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-08 06:53:14,796 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-08 06:53:14,796 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-08 06:53:14,797 INFO L290 TraceCheckUtils]: 31: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,797 INFO L290 TraceCheckUtils]: 32: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,797 INFO L290 TraceCheckUtils]: 33: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,797 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-08 06:53:14,797 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-08 06:53:14,797 INFO L290 TraceCheckUtils]: 36: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,797 INFO L290 TraceCheckUtils]: 37: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,797 INFO L290 TraceCheckUtils]: 38: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,798 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-08 06:53:14,798 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-08 06:53:14,798 INFO L290 TraceCheckUtils]: 41: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,798 INFO L290 TraceCheckUtils]: 42: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,798 INFO L290 TraceCheckUtils]: 43: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,798 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-08 06:53:14,799 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-08 06:53:14,799 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-08 06:53:14,799 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-08 06:53:14,799 INFO L290 TraceCheckUtils]: 48: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,799 INFO L290 TraceCheckUtils]: 49: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,799 INFO L290 TraceCheckUtils]: 50: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,800 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-08 06:53:14,800 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-08 06:53:14,800 INFO L290 TraceCheckUtils]: 53: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,800 INFO L290 TraceCheckUtils]: 54: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,800 INFO L290 TraceCheckUtils]: 55: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,801 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-08 06:53:14,801 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-08 06:53:14,801 INFO L290 TraceCheckUtils]: 58: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,801 INFO L290 TraceCheckUtils]: 59: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,801 INFO L290 TraceCheckUtils]: 60: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,801 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-08 06:53:14,802 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-08 06:53:14,802 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-08 06:53:14,802 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-08 06:53:14,802 INFO L290 TraceCheckUtils]: 65: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,802 INFO L290 TraceCheckUtils]: 66: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,802 INFO L290 TraceCheckUtils]: 67: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,803 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-08 06:53:14,803 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-08 06:53:14,803 INFO L290 TraceCheckUtils]: 70: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,803 INFO L290 TraceCheckUtils]: 71: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,803 INFO L290 TraceCheckUtils]: 72: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,803 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-08 06:53:14,804 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-08 06:53:14,804 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-08 06:53:14,805 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-08 06:53:14,805 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-08 06:53:14,805 INFO L290 TraceCheckUtils]: 78: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:14,805 INFO L290 TraceCheckUtils]: 79: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:14,805 INFO L290 TraceCheckUtils]: 80: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:14,805 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-08 06:53:14,806 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-08 06:53:14,806 INFO L290 TraceCheckUtils]: 83: Hoare triple {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6903#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:53:14,806 INFO L290 TraceCheckUtils]: 84: Hoare triple {6903#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6646#false} is VALID [2022-04-08 06:53:14,806 INFO L290 TraceCheckUtils]: 85: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-08 06:53:14,807 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-08 06:53:14,807 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:53:25,708 INFO L290 TraceCheckUtils]: 85: Hoare triple {6646#false} assume !false; {6646#false} is VALID [2022-04-08 06:53:25,709 INFO L290 TraceCheckUtils]: 84: Hoare triple {6903#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6646#false} is VALID [2022-04-08 06:53:25,709 INFO L290 TraceCheckUtils]: 83: Hoare triple {6899#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6903#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:53:25,710 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-08 06:53:25,710 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-08 06:53:25,710 INFO L290 TraceCheckUtils]: 80: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,710 INFO L290 TraceCheckUtils]: 79: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,710 INFO L290 TraceCheckUtils]: 78: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,710 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-08 06:53:25,711 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-08 06:53:25,711 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-08 06:53:25,727 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-08 06:53:25,728 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-08 06:53:25,728 INFO L290 TraceCheckUtils]: 72: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,728 INFO L290 TraceCheckUtils]: 71: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,728 INFO L290 TraceCheckUtils]: 70: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,728 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-08 06:53:25,728 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-08 06:53:25,728 INFO L290 TraceCheckUtils]: 67: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,728 INFO L290 TraceCheckUtils]: 66: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,729 INFO L290 TraceCheckUtils]: 65: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,729 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-08 06:53:25,729 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-08 06:53:25,730 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-08 06:53:25,731 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-08 06:53:25,731 INFO L290 TraceCheckUtils]: 60: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,731 INFO L290 TraceCheckUtils]: 59: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,731 INFO L290 TraceCheckUtils]: 58: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,731 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-08 06:53:25,731 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-08 06:53:25,732 INFO L290 TraceCheckUtils]: 55: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,732 INFO L290 TraceCheckUtils]: 54: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,732 INFO L290 TraceCheckUtils]: 53: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,732 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-08 06:53:25,732 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-08 06:53:25,732 INFO L290 TraceCheckUtils]: 50: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,732 INFO L290 TraceCheckUtils]: 49: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,732 INFO L290 TraceCheckUtils]: 48: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,732 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-08 06:53:25,733 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-08 06:53:25,738 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-08 06:53:25,738 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-08 06:53:25,738 INFO L290 TraceCheckUtils]: 43: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,738 INFO L290 TraceCheckUtils]: 42: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,738 INFO L290 TraceCheckUtils]: 41: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,739 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-08 06:53:25,739 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-08 06:53:25,739 INFO L290 TraceCheckUtils]: 38: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,739 INFO L290 TraceCheckUtils]: 37: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,739 INFO L290 TraceCheckUtils]: 36: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,739 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-08 06:53:25,742 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-08 06:53:25,742 INFO L290 TraceCheckUtils]: 33: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,742 INFO L290 TraceCheckUtils]: 32: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,742 INFO L290 TraceCheckUtils]: 31: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,742 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-08 06:53:25,743 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-08 06:53:25,745 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-08 06:53:25,745 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-08 06:53:25,745 INFO L290 TraceCheckUtils]: 26: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,745 INFO L290 TraceCheckUtils]: 25: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,746 INFO L290 TraceCheckUtils]: 24: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,746 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-08 06:53:25,746 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-08 06:53:25,746 INFO L290 TraceCheckUtils]: 21: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,746 INFO L290 TraceCheckUtils]: 20: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,746 INFO L290 TraceCheckUtils]: 19: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,746 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-08 06:53:25,747 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-08 06:53:25,747 INFO L290 TraceCheckUtils]: 16: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,747 INFO L290 TraceCheckUtils]: 15: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,747 INFO L290 TraceCheckUtils]: 14: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,747 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-08 06:53:25,747 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-08 06:53:25,748 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-08 06:53:25,748 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6645#true} {6645#true} #78#return; {6645#true} is VALID [2022-04-08 06:53:25,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,748 INFO L290 TraceCheckUtils]: 8: Hoare triple {6645#true} assume !(0 == ~cond); {6645#true} is VALID [2022-04-08 06:53:25,748 INFO L290 TraceCheckUtils]: 7: Hoare triple {6645#true} ~cond := #in~cond; {6645#true} is VALID [2022-04-08 06:53:25,748 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-08 06:53:25,748 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-08 06:53:25,748 INFO L272 TraceCheckUtils]: 4: Hoare triple {6645#true} call #t~ret5 := main(); {6645#true} is VALID [2022-04-08 06:53:25,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6645#true} {6645#true} #94#return; {6645#true} is VALID [2022-04-08 06:53:25,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {6645#true} assume true; {6645#true} is VALID [2022-04-08 06:53:25,748 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-08 06:53:25,748 INFO L272 TraceCheckUtils]: 0: Hoare triple {6645#true} call ULTIMATE.init(); {6645#true} is VALID [2022-04-08 06:53:25,749 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-08 06:53:25,749 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:53:25,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2086803077] [2022-04-08 06:53:25,749 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:53:25,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2037316778] [2022-04-08 06:53:25,749 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2037316778] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:53:25,749 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:53:25,749 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 9 [2022-04-08 06:53:25,749 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:53:25,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [399951149] [2022-04-08 06:53:25,750 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [399951149] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:53:25,750 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:53:25,750 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 06:53:25,750 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [112282893] [2022-04-08 06:53:25,750 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:53:25,750 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-08 06:53:25,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:53:25,751 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-08 06:53:25,791 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-08 06:53:25,791 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 06:53:25,791 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:53:25,792 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 06:53:25,792 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-08 06:53:25,792 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-08 06:53:26,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:53:26,326 INFO L93 Difference]: Finished difference Result 170 states and 221 transitions. [2022-04-08 06:53:26,326 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:53:26,326 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-08 06:53:26,326 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:53:26,327 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-08 06:53:26,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 111 transitions. [2022-04-08 06:53:26,329 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-08 06:53:26,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 111 transitions. [2022-04-08 06:53:26,331 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 111 transitions. [2022-04-08 06:53:26,432 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-08 06:53:26,435 INFO L225 Difference]: With dead ends: 170 [2022-04-08 06:53:26,435 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 06:53:26,435 INFO L912 BasicCegarLoop]: 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-08 06:53:26,436 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 10 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 182 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:53:26,436 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 233 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 182 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:53:26,436 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 06:53:26,554 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-08 06:53:26,555 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:53:26,555 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-08 06:53:26,555 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-08 06:53:26,556 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-08 06:53:26,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:53:26,559 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-08 06:53:26,559 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 161 transitions. [2022-04-08 06:53:26,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:53:26,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:53:26,560 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-08 06:53:26,560 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-08 06:53:26,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:53:26,563 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-08 06:53:26,563 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 161 transitions. [2022-04-08 06:53:26,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:53:26,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:53:26,564 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:53:26,564 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:53:26,564 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-08 06:53:26,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 158 transitions. [2022-04-08 06:53:26,568 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 158 transitions. Word has length 86 [2022-04-08 06:53:26,568 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:53:26,568 INFO L478 AbstractCegarLoop]: Abstraction has 130 states and 158 transitions. [2022-04-08 06:53:26,569 INFO L479 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-08 06:53:26,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 158 transitions. [2022-04-08 06:53:26,767 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-08 06:53:26,768 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 158 transitions. [2022-04-08 06:53:26,768 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 06:53:26,768 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:53:26,768 INFO L499 BasicCegarLoop]: 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-08 06:53:26,786 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-08 06:53:26,969 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 06:53:26,969 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:53:26,969 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:53:26,969 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 9 times [2022-04-08 06:53:26,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:53:26,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1517566931] [2022-04-08 06:53:31,055 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:53:31,055 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:53:31,055 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:53:31,055 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 10 times [2022-04-08 06:53:31,055 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:53:31,055 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [339662901] [2022-04-08 06:53:31,055 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:53:31,055 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:53:31,066 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:53:31,066 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1409168093] [2022-04-08 06:53:31,066 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:53:31,066 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:53:31,067 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:53:31,072 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-08 06:53:31,073 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-08 06:53:31,120 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:53:31,121 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:53:31,121 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 06:53:31,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:53:31,137 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:53:31,750 INFO L272 TraceCheckUtils]: 0: Hoare triple {8035#true} call ULTIMATE.init(); {8035#true} is VALID [2022-04-08 06:53:31,751 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-08 06:53:31,751 INFO L290 TraceCheckUtils]: 2: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,751 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8035#true} {8035#true} #94#return; {8035#true} is VALID [2022-04-08 06:53:31,751 INFO L272 TraceCheckUtils]: 4: Hoare triple {8035#true} call #t~ret5 := main(); {8035#true} is VALID [2022-04-08 06:53:31,751 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-08 06:53:31,751 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-08 06:53:31,751 INFO L290 TraceCheckUtils]: 7: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,751 INFO L290 TraceCheckUtils]: 8: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,751 INFO L290 TraceCheckUtils]: 9: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,751 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8035#true} {8035#true} #78#return; {8035#true} is VALID [2022-04-08 06:53:31,752 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-08 06:53:31,752 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-08 06:53:31,752 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-08 06:53:31,752 INFO L290 TraceCheckUtils]: 14: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,752 INFO L290 TraceCheckUtils]: 15: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,752 INFO L290 TraceCheckUtils]: 16: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,753 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-08 06:53:31,753 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-08 06:53:31,753 INFO L290 TraceCheckUtils]: 19: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,753 INFO L290 TraceCheckUtils]: 20: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,753 INFO L290 TraceCheckUtils]: 21: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,753 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-08 06:53:31,754 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-08 06:53:31,754 INFO L290 TraceCheckUtils]: 24: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,754 INFO L290 TraceCheckUtils]: 25: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,754 INFO L290 TraceCheckUtils]: 26: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,754 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-08 06:53:31,755 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-08 06:53:31,755 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-08 06:53:31,755 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-08 06:53:31,755 INFO L290 TraceCheckUtils]: 31: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,755 INFO L290 TraceCheckUtils]: 32: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,755 INFO L290 TraceCheckUtils]: 33: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,758 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-08 06:53:31,758 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-08 06:53:31,758 INFO L290 TraceCheckUtils]: 36: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,758 INFO L290 TraceCheckUtils]: 37: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,758 INFO L290 TraceCheckUtils]: 38: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,760 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-08 06:53:31,760 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-08 06:53:31,760 INFO L290 TraceCheckUtils]: 41: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,761 INFO L290 TraceCheckUtils]: 42: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,761 INFO L290 TraceCheckUtils]: 43: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,761 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-08 06:53:31,761 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-08 06:53:31,762 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-08 06:53:31,762 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-08 06:53:31,762 INFO L290 TraceCheckUtils]: 48: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,762 INFO L290 TraceCheckUtils]: 49: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,762 INFO L290 TraceCheckUtils]: 50: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,763 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-08 06:53:31,763 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-08 06:53:31,763 INFO L290 TraceCheckUtils]: 53: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,763 INFO L290 TraceCheckUtils]: 54: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,763 INFO L290 TraceCheckUtils]: 55: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,763 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-08 06:53:31,763 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-08 06:53:31,763 INFO L290 TraceCheckUtils]: 58: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,764 INFO L290 TraceCheckUtils]: 59: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,764 INFO L290 TraceCheckUtils]: 60: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,764 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-08 06:53:31,764 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-08 06:53:31,765 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-08 06:53:31,765 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-08 06:53:31,765 INFO L290 TraceCheckUtils]: 65: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,765 INFO L290 TraceCheckUtils]: 66: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,765 INFO L290 TraceCheckUtils]: 67: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,766 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-08 06:53:31,766 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-08 06:53:31,766 INFO L290 TraceCheckUtils]: 70: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,766 INFO L290 TraceCheckUtils]: 71: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,766 INFO L290 TraceCheckUtils]: 72: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,766 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-08 06:53:31,767 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-08 06:53:31,767 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-08 06:53:31,768 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-08 06:53:31,768 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-08 06:53:31,768 INFO L290 TraceCheckUtils]: 78: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,768 INFO L290 TraceCheckUtils]: 79: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,768 INFO L290 TraceCheckUtils]: 80: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,768 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-08 06:53:31,768 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-08 06:53:31,768 INFO L290 TraceCheckUtils]: 83: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:53:31,768 INFO L290 TraceCheckUtils]: 84: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:53:31,769 INFO L290 TraceCheckUtils]: 85: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:53:31,769 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-08 06:53:31,770 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-08 06:53:31,771 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-08 06:53:31,771 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-08 06:53:31,772 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-08 06:53:31,772 INFO L290 TraceCheckUtils]: 91: Hoare triple {8316#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8320#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:53:31,772 INFO L290 TraceCheckUtils]: 92: Hoare triple {8320#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8036#false} is VALID [2022-04-08 06:53:31,772 INFO L290 TraceCheckUtils]: 93: Hoare triple {8036#false} assume !false; {8036#false} is VALID [2022-04-08 06:53:31,773 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-08 06:53:31,773 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:54:02,077 INFO L290 TraceCheckUtils]: 93: Hoare triple {8036#false} assume !false; {8036#false} is VALID [2022-04-08 06:54:02,077 INFO L290 TraceCheckUtils]: 92: Hoare triple {8320#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8036#false} is VALID [2022-04-08 06:54:02,077 INFO L290 TraceCheckUtils]: 91: Hoare triple {8316#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8320#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:54:02,078 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-08 06:54:02,078 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-08 06:54:02,095 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-08 06:54:02,114 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-08 06:54:02,114 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-08 06:54:02,114 INFO L290 TraceCheckUtils]: 85: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,115 INFO L290 TraceCheckUtils]: 84: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,115 INFO L290 TraceCheckUtils]: 83: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,115 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-08 06:54:02,115 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-08 06:54:02,115 INFO L290 TraceCheckUtils]: 80: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,115 INFO L290 TraceCheckUtils]: 79: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,115 INFO L290 TraceCheckUtils]: 78: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,115 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-08 06:54:02,116 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-08 06:54:02,152 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-08 06:54:02,337 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-08 06:54:02,338 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-08 06:54:02,338 INFO L290 TraceCheckUtils]: 72: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,338 INFO L290 TraceCheckUtils]: 71: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,338 INFO L290 TraceCheckUtils]: 70: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,338 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-08 06:54:02,340 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-08 06:54:02,340 INFO L290 TraceCheckUtils]: 67: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,340 INFO L290 TraceCheckUtils]: 66: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,340 INFO L290 TraceCheckUtils]: 65: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,340 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-08 06:54:02,344 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-08 06:54:02,348 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-08 06:54:02,349 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-08 06:54:02,349 INFO L290 TraceCheckUtils]: 60: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,349 INFO L290 TraceCheckUtils]: 59: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,349 INFO L290 TraceCheckUtils]: 58: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,350 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-08 06:54:02,360 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-08 06:54:02,360 INFO L290 TraceCheckUtils]: 55: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,360 INFO L290 TraceCheckUtils]: 54: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,360 INFO L290 TraceCheckUtils]: 53: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,360 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-08 06:54:02,361 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-08 06:54:02,361 INFO L290 TraceCheckUtils]: 50: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,361 INFO L290 TraceCheckUtils]: 49: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,362 INFO L290 TraceCheckUtils]: 48: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,362 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-08 06:54:02,367 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-08 06:54:02,523 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-08 06:54:02,524 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-08 06:54:02,524 INFO L290 TraceCheckUtils]: 43: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,524 INFO L290 TraceCheckUtils]: 42: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,524 INFO L290 TraceCheckUtils]: 41: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,524 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-08 06:54:02,525 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-08 06:54:02,525 INFO L290 TraceCheckUtils]: 38: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,525 INFO L290 TraceCheckUtils]: 37: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,525 INFO L290 TraceCheckUtils]: 36: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,526 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-08 06:54:02,526 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-08 06:54:02,526 INFO L290 TraceCheckUtils]: 33: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,526 INFO L290 TraceCheckUtils]: 32: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,527 INFO L290 TraceCheckUtils]: 31: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,527 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-08 06:54:02,528 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-08 06:54:02,548 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-08 06:54:02,548 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-08 06:54:02,549 INFO L290 TraceCheckUtils]: 26: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,549 INFO L290 TraceCheckUtils]: 25: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,549 INFO L290 TraceCheckUtils]: 24: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,549 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-08 06:54:02,549 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-08 06:54:02,549 INFO L290 TraceCheckUtils]: 21: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,549 INFO L290 TraceCheckUtils]: 20: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,549 INFO L290 TraceCheckUtils]: 19: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,549 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-08 06:54:02,550 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-08 06:54:02,550 INFO L290 TraceCheckUtils]: 16: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,550 INFO L290 TraceCheckUtils]: 15: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,550 INFO L290 TraceCheckUtils]: 14: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,550 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-08 06:54:02,551 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-08 06:54:02,551 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-08 06:54:02,551 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8035#true} {8035#true} #78#return; {8035#true} is VALID [2022-04-08 06:54:02,551 INFO L290 TraceCheckUtils]: 9: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,551 INFO L290 TraceCheckUtils]: 8: Hoare triple {8035#true} assume !(0 == ~cond); {8035#true} is VALID [2022-04-08 06:54:02,551 INFO L290 TraceCheckUtils]: 7: Hoare triple {8035#true} ~cond := #in~cond; {8035#true} is VALID [2022-04-08 06:54:02,551 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-08 06:54:02,551 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-08 06:54:02,551 INFO L272 TraceCheckUtils]: 4: Hoare triple {8035#true} call #t~ret5 := main(); {8035#true} is VALID [2022-04-08 06:54:02,551 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8035#true} {8035#true} #94#return; {8035#true} is VALID [2022-04-08 06:54:02,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {8035#true} assume true; {8035#true} is VALID [2022-04-08 06:54:02,552 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-08 06:54:02,552 INFO L272 TraceCheckUtils]: 0: Hoare triple {8035#true} call ULTIMATE.init(); {8035#true} is VALID [2022-04-08 06:54:02,553 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 26 proven. 19 refuted. 5 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 06:54:02,553 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:54:02,553 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [339662901] [2022-04-08 06:54:02,553 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:54:02,553 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1409168093] [2022-04-08 06:54:02,553 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1409168093] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:54:02,554 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:54:02,554 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-08 06:54:02,554 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:54:02,554 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1517566931] [2022-04-08 06:54:02,554 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1517566931] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:54:02,554 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:54:02,554 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 06:54:02,554 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1092502708] [2022-04-08 06:54:02,554 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:54:02,555 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-08 06:54:02,555 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:54:02,555 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-08 06:54:02,606 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-08 06:54:02,606 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 06:54:02,606 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:54:02,606 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 06:54:02,607 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=179, Unknown=1, NotChecked=0, Total=240 [2022-04-08 06:54:02,607 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-08 06:54:03,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:03,795 INFO L93 Difference]: Finished difference Result 164 states and 189 transitions. [2022-04-08 06:54:03,795 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 06:54:03,795 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-08 06:54:03,795 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:54:03,795 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-08 06:54:03,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-08 06:54:03,797 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-08 06:54:03,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-08 06:54:03,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 105 transitions. [2022-04-08 06:54:03,909 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-08 06:54:03,913 INFO L225 Difference]: With dead ends: 164 [2022-04-08 06:54:03,913 INFO L226 Difference]: Without dead ends: 157 [2022-04-08 06:54:03,913 INFO L912 BasicCegarLoop]: 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-08 06:54:03,914 INFO L913 BasicCegarLoop]: 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-08 06:54:03,914 INFO L914 BasicCegarLoop]: 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-08 06:54:03,914 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 157 states. [2022-04-08 06:54:04,022 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 157 to 154. [2022-04-08 06:54:04,022 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:54:04,023 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-08 06:54:04,023 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-08 06:54:04,023 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-08 06:54:04,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:04,027 INFO L93 Difference]: Finished difference Result 157 states and 179 transitions. [2022-04-08 06:54:04,027 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 179 transitions. [2022-04-08 06:54:04,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:54:04,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:54:04,028 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-08 06:54:04,028 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-08 06:54:04,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:04,031 INFO L93 Difference]: Finished difference Result 157 states and 179 transitions. [2022-04-08 06:54:04,031 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 179 transitions. [2022-04-08 06:54:04,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:54:04,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:54:04,032 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:54:04,032 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:54:04,032 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-08 06:54:04,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 154 states to 154 states and 175 transitions. [2022-04-08 06:54:04,036 INFO L78 Accepts]: Start accepts. Automaton has 154 states and 175 transitions. Word has length 94 [2022-04-08 06:54:04,036 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:54:04,036 INFO L478 AbstractCegarLoop]: Abstraction has 154 states and 175 transitions. [2022-04-08 06:54:04,037 INFO L479 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-08 06:54:04,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 154 states and 175 transitions. [2022-04-08 06:54:04,250 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-08 06:54:04,250 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 175 transitions. [2022-04-08 06:54:04,251 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2022-04-08 06:54:04,251 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:54:04,251 INFO L499 BasicCegarLoop]: 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-08 06:54:04,270 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-08 06:54:04,463 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:54:04,463 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:54:04,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:54:04,464 INFO L85 PathProgramCache]: Analyzing trace with hash -321511332, now seen corresponding path program 11 times [2022-04-08 06:54:04,464 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:54:04,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [27988914] [2022-04-08 06:54:07,065 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:54:07,065 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:54:07,065 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:54:07,065 INFO L85 PathProgramCache]: Analyzing trace with hash -321511332, now seen corresponding path program 12 times [2022-04-08 06:54:07,065 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:54:07,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1522152094] [2022-04-08 06:54:07,066 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:54:07,066 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:54:07,089 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:54:07,089 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [681197100] [2022-04-08 06:54:07,089 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 06:54:07,090 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:54:07,090 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:54:07,095 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-08 06:54:07,099 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-08 06:54:07,146 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 06:54:07,146 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:54:07,147 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 06:54:07,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:54:07,170 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:54:07,696 INFO L272 TraceCheckUtils]: 0: Hoare triple {9566#true} call ULTIMATE.init(); {9566#true} is VALID [2022-04-08 06:54:07,696 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-08 06:54:07,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9566#true} {9566#true} #94#return; {9566#true} is VALID [2022-04-08 06:54:07,696 INFO L272 TraceCheckUtils]: 4: Hoare triple {9566#true} call #t~ret5 := main(); {9566#true} is VALID [2022-04-08 06:54:07,696 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-08 06:54:07,696 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-08 06:54:07,696 INFO L290 TraceCheckUtils]: 7: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,696 INFO L290 TraceCheckUtils]: 8: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,697 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9566#true} {9566#true} #78#return; {9566#true} is VALID [2022-04-08 06:54:07,697 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-08 06:54:07,697 INFO L290 TraceCheckUtils]: 12: Hoare triple {9604#(= main_~B~0 1)} assume !false; {9604#(= main_~B~0 1)} is VALID [2022-04-08 06:54:07,697 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-08 06:54:07,697 INFO L290 TraceCheckUtils]: 14: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,697 INFO L290 TraceCheckUtils]: 15: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,697 INFO L290 TraceCheckUtils]: 16: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,698 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #80#return; {9604#(= main_~B~0 1)} is VALID [2022-04-08 06:54:07,698 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-08 06:54:07,698 INFO L290 TraceCheckUtils]: 19: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,698 INFO L290 TraceCheckUtils]: 20: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,698 INFO L290 TraceCheckUtils]: 21: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,698 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #82#return; {9604#(= main_~B~0 1)} is VALID [2022-04-08 06:54:07,698 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-08 06:54:07,699 INFO L290 TraceCheckUtils]: 24: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,699 INFO L290 TraceCheckUtils]: 25: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,699 INFO L290 TraceCheckUtils]: 26: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,699 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #84#return; {9604#(= main_~B~0 1)} is VALID [2022-04-08 06:54:07,700 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-08 06:54:07,700 INFO L290 TraceCheckUtils]: 29: Hoare triple {9604#(= main_~B~0 1)} assume !false; {9604#(= main_~B~0 1)} is VALID [2022-04-08 06:54:07,700 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-08 06:54:07,700 INFO L290 TraceCheckUtils]: 31: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,700 INFO L290 TraceCheckUtils]: 32: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,700 INFO L290 TraceCheckUtils]: 33: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,701 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #80#return; {9604#(= main_~B~0 1)} is VALID [2022-04-08 06:54:07,701 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-08 06:54:07,701 INFO L290 TraceCheckUtils]: 36: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,701 INFO L290 TraceCheckUtils]: 37: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,701 INFO L290 TraceCheckUtils]: 38: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,702 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #82#return; {9604#(= main_~B~0 1)} is VALID [2022-04-08 06:54:07,702 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-08 06:54:07,702 INFO L290 TraceCheckUtils]: 41: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,702 INFO L290 TraceCheckUtils]: 42: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,702 INFO L290 TraceCheckUtils]: 43: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,703 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #84#return; {9604#(= main_~B~0 1)} is VALID [2022-04-08 06:54:07,703 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-08 06:54:07,704 INFO L290 TraceCheckUtils]: 46: Hoare triple {9604#(= main_~B~0 1)} assume !false; {9604#(= main_~B~0 1)} is VALID [2022-04-08 06:54:07,704 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-08 06:54:07,704 INFO L290 TraceCheckUtils]: 48: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,704 INFO L290 TraceCheckUtils]: 49: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,704 INFO L290 TraceCheckUtils]: 50: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,704 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #80#return; {9604#(= main_~B~0 1)} is VALID [2022-04-08 06:54:07,705 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-08 06:54:07,705 INFO L290 TraceCheckUtils]: 53: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,705 INFO L290 TraceCheckUtils]: 54: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,705 INFO L290 TraceCheckUtils]: 55: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,705 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9566#true} {9604#(= main_~B~0 1)} #82#return; {9604#(= main_~B~0 1)} is VALID [2022-04-08 06:54:07,705 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-08 06:54:07,705 INFO L290 TraceCheckUtils]: 58: Hoare triple {9566#true} ~cond := #in~cond; {9746#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:54:07,706 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-08 06:54:07,706 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-08 06:54:07,706 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-08 06:54:07,707 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-08 06:54:07,708 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-08 06:54:07,708 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-08 06:54:07,708 INFO L290 TraceCheckUtils]: 65: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,708 INFO L290 TraceCheckUtils]: 66: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,708 INFO L290 TraceCheckUtils]: 67: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,708 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-08 06:54:07,709 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-08 06:54:07,709 INFO L290 TraceCheckUtils]: 70: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,709 INFO L290 TraceCheckUtils]: 71: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,709 INFO L290 TraceCheckUtils]: 72: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,709 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-08 06:54:07,709 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-08 06:54:07,709 INFO L290 TraceCheckUtils]: 75: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,709 INFO L290 TraceCheckUtils]: 76: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,709 INFO L290 TraceCheckUtils]: 77: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,710 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-08 06:54:07,710 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-08 06:54:07,711 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-08 06:54:07,711 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-08 06:54:07,711 INFO L290 TraceCheckUtils]: 82: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,711 INFO L290 TraceCheckUtils]: 83: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,711 INFO L290 TraceCheckUtils]: 84: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,711 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-08 06:54:07,711 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-08 06:54:07,711 INFO L290 TraceCheckUtils]: 87: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,711 INFO L290 TraceCheckUtils]: 88: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,712 INFO L290 TraceCheckUtils]: 89: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,712 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-08 06:54:07,713 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-08 06:54:07,713 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-08 06:54:07,714 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-08 06:54:07,714 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-08 06:54:07,714 INFO L290 TraceCheckUtils]: 95: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:07,714 INFO L290 TraceCheckUtils]: 96: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:07,714 INFO L290 TraceCheckUtils]: 97: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:07,714 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-08 06:54:07,715 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-08 06:54:07,715 INFO L290 TraceCheckUtils]: 100: Hoare triple {9873#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9877#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:54:07,715 INFO L290 TraceCheckUtils]: 101: Hoare triple {9877#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9567#false} is VALID [2022-04-08 06:54:07,716 INFO L290 TraceCheckUtils]: 102: Hoare triple {9567#false} assume !false; {9567#false} is VALID [2022-04-08 06:54:07,716 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-08 06:54:07,716 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:54:12,261 INFO L290 TraceCheckUtils]: 102: Hoare triple {9567#false} assume !false; {9567#false} is VALID [2022-04-08 06:54:12,262 INFO L290 TraceCheckUtils]: 101: Hoare triple {9877#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9567#false} is VALID [2022-04-08 06:54:12,262 INFO L290 TraceCheckUtils]: 100: Hoare triple {9873#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9877#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:54:12,263 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-08 06:54:12,263 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-08 06:54:12,263 INFO L290 TraceCheckUtils]: 97: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,263 INFO L290 TraceCheckUtils]: 96: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,263 INFO L290 TraceCheckUtils]: 95: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,263 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-08 06:54:12,264 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-08 06:54:12,264 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-08 06:54:12,291 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-08 06:54:12,292 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-08 06:54:12,292 INFO L290 TraceCheckUtils]: 89: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,292 INFO L290 TraceCheckUtils]: 88: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,292 INFO L290 TraceCheckUtils]: 87: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,292 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-08 06:54:12,293 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-08 06:54:12,293 INFO L290 TraceCheckUtils]: 84: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,293 INFO L290 TraceCheckUtils]: 83: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,293 INFO L290 TraceCheckUtils]: 82: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,293 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-08 06:54:12,294 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-08 06:54:12,295 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-08 06:54:12,295 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-08 06:54:12,296 INFO L290 TraceCheckUtils]: 77: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,296 INFO L290 TraceCheckUtils]: 76: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,296 INFO L290 TraceCheckUtils]: 75: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,296 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-08 06:54:12,297 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-08 06:54:12,297 INFO L290 TraceCheckUtils]: 72: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,297 INFO L290 TraceCheckUtils]: 71: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,297 INFO L290 TraceCheckUtils]: 70: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,297 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-08 06:54:12,298 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-08 06:54:12,298 INFO L290 TraceCheckUtils]: 67: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,298 INFO L290 TraceCheckUtils]: 66: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,298 INFO L290 TraceCheckUtils]: 65: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,298 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-08 06:54:12,299 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-08 06:54:12,306 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-08 06:54:12,307 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-08 06:54:12,307 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-08 06:54:12,307 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-08 06:54:12,308 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-08 06:54:12,308 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-08 06:54:12,308 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9566#true} {9566#true} #82#return; {9566#true} is VALID [2022-04-08 06:54:12,308 INFO L290 TraceCheckUtils]: 55: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,308 INFO L290 TraceCheckUtils]: 54: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,308 INFO L290 TraceCheckUtils]: 53: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,308 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-08 06:54:12,308 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9566#true} {9566#true} #80#return; {9566#true} is VALID [2022-04-08 06:54:12,308 INFO L290 TraceCheckUtils]: 50: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,308 INFO L290 TraceCheckUtils]: 49: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,309 INFO L290 TraceCheckUtils]: 48: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,309 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-08 06:54:12,309 INFO L290 TraceCheckUtils]: 46: Hoare triple {9566#true} assume !false; {9566#true} is VALID [2022-04-08 06:54:12,309 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-08 06:54:12,309 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9566#true} {9566#true} #84#return; {9566#true} is VALID [2022-04-08 06:54:12,309 INFO L290 TraceCheckUtils]: 43: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,309 INFO L290 TraceCheckUtils]: 42: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,309 INFO L290 TraceCheckUtils]: 41: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,309 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-08 06:54:12,309 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9566#true} {9566#true} #82#return; {9566#true} is VALID [2022-04-08 06:54:12,309 INFO L290 TraceCheckUtils]: 38: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,310 INFO L290 TraceCheckUtils]: 37: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,310 INFO L290 TraceCheckUtils]: 36: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,310 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-08 06:54:12,310 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9566#true} {9566#true} #80#return; {9566#true} is VALID [2022-04-08 06:54:12,310 INFO L290 TraceCheckUtils]: 33: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,310 INFO L290 TraceCheckUtils]: 32: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,310 INFO L290 TraceCheckUtils]: 31: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,310 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-08 06:54:12,310 INFO L290 TraceCheckUtils]: 29: Hoare triple {9566#true} assume !false; {9566#true} is VALID [2022-04-08 06:54:12,310 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-08 06:54:12,310 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9566#true} {9566#true} #84#return; {9566#true} is VALID [2022-04-08 06:54:12,310 INFO L290 TraceCheckUtils]: 26: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,310 INFO L290 TraceCheckUtils]: 25: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,311 INFO L290 TraceCheckUtils]: 24: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,311 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-08 06:54:12,311 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9566#true} {9566#true} #82#return; {9566#true} is VALID [2022-04-08 06:54:12,311 INFO L290 TraceCheckUtils]: 21: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,311 INFO L290 TraceCheckUtils]: 20: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,311 INFO L290 TraceCheckUtils]: 19: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,311 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-08 06:54:12,311 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9566#true} {9566#true} #80#return; {9566#true} is VALID [2022-04-08 06:54:12,311 INFO L290 TraceCheckUtils]: 16: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,311 INFO L290 TraceCheckUtils]: 15: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,312 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-08 06:54:12,312 INFO L290 TraceCheckUtils]: 12: Hoare triple {9566#true} assume !false; {9566#true} is VALID [2022-04-08 06:54:12,312 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-08 06:54:12,312 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9566#true} {9566#true} #78#return; {9566#true} is VALID [2022-04-08 06:54:12,312 INFO L290 TraceCheckUtils]: 9: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,312 INFO L290 TraceCheckUtils]: 8: Hoare triple {9566#true} assume !(0 == ~cond); {9566#true} is VALID [2022-04-08 06:54:12,312 INFO L290 TraceCheckUtils]: 7: Hoare triple {9566#true} ~cond := #in~cond; {9566#true} is VALID [2022-04-08 06:54:12,312 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-08 06:54:12,312 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-08 06:54:12,312 INFO L272 TraceCheckUtils]: 4: Hoare triple {9566#true} call #t~ret5 := main(); {9566#true} is VALID [2022-04-08 06:54:12,312 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9566#true} {9566#true} #94#return; {9566#true} is VALID [2022-04-08 06:54:12,313 INFO L290 TraceCheckUtils]: 2: Hoare triple {9566#true} assume true; {9566#true} is VALID [2022-04-08 06:54:12,313 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-08 06:54:12,313 INFO L272 TraceCheckUtils]: 0: Hoare triple {9566#true} call ULTIMATE.init(); {9566#true} is VALID [2022-04-08 06:54:12,314 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-08 06:54:12,314 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:54:12,314 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1522152094] [2022-04-08 06:54:12,314 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:54:12,314 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [681197100] [2022-04-08 06:54:12,314 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [681197100] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:54:12,314 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:54:12,314 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-08 06:54:12,315 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:54:12,315 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [27988914] [2022-04-08 06:54:12,315 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [27988914] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:54:12,315 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:54:12,315 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 06:54:12,315 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [377488228] [2022-04-08 06:54:12,315 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:54:12,315 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-08 06:54:12,316 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:54:12,319 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-08 06:54:12,366 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-08 06:54:12,367 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 06:54:12,367 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:54:12,367 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 06:54:12,367 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-04-08 06:54:12,367 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-08 06:54:12,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:12,805 INFO L93 Difference]: Finished difference Result 164 states and 183 transitions. [2022-04-08 06:54:12,805 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 06:54:12,805 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 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-08 06:54:12,805 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:54:12,806 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-08 06:54:12,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-08 06:54:12,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 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-08 06:54:12,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-08 06:54:12,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 57 transitions. [2022-04-08 06:54:12,869 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-08 06:54:12,873 INFO L225 Difference]: With dead ends: 164 [2022-04-08 06:54:12,873 INFO L226 Difference]: Without dead ends: 162 [2022-04-08 06:54:12,873 INFO L912 BasicCegarLoop]: 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-08 06:54:12,874 INFO L913 BasicCegarLoop]: 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-08 06:54:12,874 INFO L914 BasicCegarLoop]: 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-08 06:54:12,874 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-08 06:54:12,984 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 162. [2022-04-08 06:54:12,984 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:54:12,984 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-08 06:54:12,985 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-08 06:54:12,987 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-08 06:54:12,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:12,991 INFO L93 Difference]: Finished difference Result 162 states and 181 transitions. [2022-04-08 06:54:12,991 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 181 transitions. [2022-04-08 06:54:12,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:54:12,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:54:12,994 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-08 06:54:12,995 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-08 06:54:12,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:12,998 INFO L93 Difference]: Finished difference Result 162 states and 181 transitions. [2022-04-08 06:54:12,999 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 181 transitions. [2022-04-08 06:54:12,999 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:54:12,999 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:54:12,999 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:54:12,999 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:54:13,000 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-08 06:54:13,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 162 states to 162 states and 181 transitions. [2022-04-08 06:54:13,003 INFO L78 Accepts]: Start accepts. Automaton has 162 states and 181 transitions. Word has length 103 [2022-04-08 06:54:13,003 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:54:13,004 INFO L478 AbstractCegarLoop]: Abstraction has 162 states and 181 transitions. [2022-04-08 06:54:13,004 INFO L479 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-08 06:54:13,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 162 states and 181 transitions. [2022-04-08 06:54:13,207 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-08 06:54:13,207 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 181 transitions. [2022-04-08 06:54:13,211 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-08 06:54:13,211 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:54:13,211 INFO L499 BasicCegarLoop]: 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-08 06:54:13,237 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-08 06:54:13,434 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 06:54:13,435 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:54:13,435 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:54:13,435 INFO L85 PathProgramCache]: Analyzing trace with hash 1306280540, now seen corresponding path program 3 times [2022-04-08 06:54:13,435 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:54:13,435 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1015426070] [2022-04-08 06:54:17,102 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:54:17,103 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:54:17,103 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:54:17,103 INFO L85 PathProgramCache]: Analyzing trace with hash 1306280540, now seen corresponding path program 4 times [2022-04-08 06:54:17,103 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:54:17,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [722731950] [2022-04-08 06:54:17,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:54:17,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:54:17,112 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:54:17,112 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1865723961] [2022-04-08 06:54:17,112 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:54:17,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:54:17,113 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:54:17,120 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-08 06:54:17,122 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-08 06:54:17,168 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:54:17,168 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:54:17,169 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 06:54:17,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:54:17,186 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:54:17,744 INFO L272 TraceCheckUtils]: 0: Hoare triple {11175#true} call ULTIMATE.init(); {11175#true} is VALID [2022-04-08 06:54:17,745 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-08 06:54:17,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11175#true} {11175#true} #94#return; {11175#true} is VALID [2022-04-08 06:54:17,745 INFO L272 TraceCheckUtils]: 4: Hoare triple {11175#true} call #t~ret5 := main(); {11175#true} is VALID [2022-04-08 06:54:17,745 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-08 06:54:17,745 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-08 06:54:17,745 INFO L290 TraceCheckUtils]: 7: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,745 INFO L290 TraceCheckUtils]: 8: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,745 INFO L290 TraceCheckUtils]: 9: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,745 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11175#true} {11175#true} #78#return; {11175#true} is VALID [2022-04-08 06:54:17,745 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-08 06:54:17,746 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-08 06:54:17,746 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-08 06:54:17,746 INFO L290 TraceCheckUtils]: 14: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,746 INFO L290 TraceCheckUtils]: 15: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,746 INFO L290 TraceCheckUtils]: 16: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,747 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-08 06:54:17,747 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-08 06:54:17,747 INFO L290 TraceCheckUtils]: 19: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,747 INFO L290 TraceCheckUtils]: 20: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,747 INFO L290 TraceCheckUtils]: 21: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,747 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-08 06:54:17,747 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-08 06:54:17,747 INFO L290 TraceCheckUtils]: 24: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,747 INFO L290 TraceCheckUtils]: 25: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,748 INFO L290 TraceCheckUtils]: 26: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,748 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-08 06:54:17,748 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-08 06:54:17,751 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-08 06:54:17,751 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-08 06:54:17,751 INFO L290 TraceCheckUtils]: 31: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,751 INFO L290 TraceCheckUtils]: 32: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,752 INFO L290 TraceCheckUtils]: 33: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,752 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-08 06:54:17,752 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-08 06:54:17,752 INFO L290 TraceCheckUtils]: 36: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,753 INFO L290 TraceCheckUtils]: 37: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,753 INFO L290 TraceCheckUtils]: 38: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,753 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-08 06:54:17,753 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-08 06:54:17,753 INFO L290 TraceCheckUtils]: 41: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,753 INFO L290 TraceCheckUtils]: 42: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,753 INFO L290 TraceCheckUtils]: 43: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,763 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-08 06:54:17,764 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-08 06:54:17,764 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-08 06:54:17,765 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-08 06:54:17,765 INFO L290 TraceCheckUtils]: 48: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,765 INFO L290 TraceCheckUtils]: 49: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,765 INFO L290 TraceCheckUtils]: 50: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,765 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-08 06:54:17,766 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-08 06:54:17,766 INFO L290 TraceCheckUtils]: 53: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,766 INFO L290 TraceCheckUtils]: 54: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,766 INFO L290 TraceCheckUtils]: 55: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,766 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-08 06:54:17,766 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-08 06:54:17,766 INFO L290 TraceCheckUtils]: 58: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,766 INFO L290 TraceCheckUtils]: 59: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,766 INFO L290 TraceCheckUtils]: 60: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,767 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-08 06:54:17,767 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-08 06:54:17,768 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-08 06:54:17,768 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-08 06:54:17,768 INFO L290 TraceCheckUtils]: 65: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,768 INFO L290 TraceCheckUtils]: 66: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,768 INFO L290 TraceCheckUtils]: 67: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,768 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-08 06:54:17,768 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-08 06:54:17,769 INFO L290 TraceCheckUtils]: 70: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,769 INFO L290 TraceCheckUtils]: 71: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,769 INFO L290 TraceCheckUtils]: 72: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,769 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-08 06:54:17,770 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-08 06:54:17,770 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-08 06:54:17,770 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-08 06:54:17,770 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-08 06:54:17,771 INFO L290 TraceCheckUtils]: 78: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,771 INFO L290 TraceCheckUtils]: 79: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,771 INFO L290 TraceCheckUtils]: 80: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,771 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-08 06:54:17,771 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-08 06:54:17,771 INFO L290 TraceCheckUtils]: 83: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,771 INFO L290 TraceCheckUtils]: 84: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,771 INFO L290 TraceCheckUtils]: 85: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,772 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-08 06:54:17,772 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-08 06:54:17,773 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-08 06:54:17,774 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-08 06:54:17,774 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-08 06:54:17,774 INFO L290 TraceCheckUtils]: 91: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,774 INFO L290 TraceCheckUtils]: 92: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,774 INFO L290 TraceCheckUtils]: 93: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,775 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-08 06:54:17,775 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-08 06:54:17,775 INFO L290 TraceCheckUtils]: 96: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:17,775 INFO L290 TraceCheckUtils]: 97: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:17,775 INFO L290 TraceCheckUtils]: 98: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:17,775 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-08 06:54:17,776 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-08 06:54:17,776 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-08 06:54:17,777 INFO L290 TraceCheckUtils]: 102: Hoare triple {11490#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11494#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:54:17,777 INFO L290 TraceCheckUtils]: 103: Hoare triple {11494#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11176#false} is VALID [2022-04-08 06:54:17,777 INFO L290 TraceCheckUtils]: 104: Hoare triple {11176#false} assume !false; {11176#false} is VALID [2022-04-08 06:54:17,777 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-08 06:54:17,777 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:54:30,987 INFO L290 TraceCheckUtils]: 104: Hoare triple {11176#false} assume !false; {11176#false} is VALID [2022-04-08 06:54:30,988 INFO L290 TraceCheckUtils]: 103: Hoare triple {11494#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11176#false} is VALID [2022-04-08 06:54:30,988 INFO L290 TraceCheckUtils]: 102: Hoare triple {11490#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11494#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:54:30,989 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-08 06:54:30,989 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-08 06:54:30,990 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-08 06:54:30,990 INFO L290 TraceCheckUtils]: 98: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:30,990 INFO L290 TraceCheckUtils]: 97: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:30,990 INFO L290 TraceCheckUtils]: 96: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:30,990 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-08 06:54:30,990 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-08 06:54:30,990 INFO L290 TraceCheckUtils]: 93: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:30,990 INFO L290 TraceCheckUtils]: 92: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:30,990 INFO L290 TraceCheckUtils]: 91: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:30,991 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-08 06:54:30,991 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-08 06:54:30,992 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-08 06:54:30,996 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-08 06:54:30,997 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-08 06:54:30,997 INFO L290 TraceCheckUtils]: 85: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:30,997 INFO L290 TraceCheckUtils]: 84: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:30,997 INFO L290 TraceCheckUtils]: 83: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:30,997 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-08 06:54:30,997 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-08 06:54:30,997 INFO L290 TraceCheckUtils]: 80: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:30,998 INFO L290 TraceCheckUtils]: 79: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:30,998 INFO L290 TraceCheckUtils]: 78: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:30,998 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-08 06:54:30,998 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-08 06:54:31,027 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-08 06:54:31,077 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-08 06:54:31,078 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-08 06:54:31,078 INFO L290 TraceCheckUtils]: 72: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,078 INFO L290 TraceCheckUtils]: 71: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:31,078 INFO L290 TraceCheckUtils]: 70: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:31,078 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-08 06:54:31,078 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-08 06:54:31,078 INFO L290 TraceCheckUtils]: 67: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,078 INFO L290 TraceCheckUtils]: 66: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:31,079 INFO L290 TraceCheckUtils]: 65: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:31,079 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-08 06:54:31,080 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-08 06:54:31,081 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-08 06:54:31,081 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-08 06:54:31,082 INFO L290 TraceCheckUtils]: 60: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,082 INFO L290 TraceCheckUtils]: 59: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:31,082 INFO L290 TraceCheckUtils]: 58: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:31,082 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-08 06:54:31,082 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-08 06:54:31,082 INFO L290 TraceCheckUtils]: 55: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,082 INFO L290 TraceCheckUtils]: 54: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:31,082 INFO L290 TraceCheckUtils]: 53: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:31,083 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-08 06:54:31,083 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-08 06:54:31,083 INFO L290 TraceCheckUtils]: 50: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,083 INFO L290 TraceCheckUtils]: 49: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:31,083 INFO L290 TraceCheckUtils]: 48: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:31,083 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-08 06:54:31,084 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-08 06:54:31,101 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-08 06:54:31,102 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-08 06:54:31,102 INFO L290 TraceCheckUtils]: 43: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,102 INFO L290 TraceCheckUtils]: 42: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:31,102 INFO L290 TraceCheckUtils]: 41: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:31,102 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-08 06:54:31,103 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-08 06:54:31,103 INFO L290 TraceCheckUtils]: 38: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,103 INFO L290 TraceCheckUtils]: 37: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:31,103 INFO L290 TraceCheckUtils]: 36: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:31,103 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-08 06:54:31,103 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-08 06:54:31,103 INFO L290 TraceCheckUtils]: 33: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,103 INFO L290 TraceCheckUtils]: 32: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:31,103 INFO L290 TraceCheckUtils]: 31: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:31,104 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-08 06:54:31,104 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-08 06:54:31,115 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-08 06:54:31,115 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-08 06:54:31,115 INFO L290 TraceCheckUtils]: 26: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,115 INFO L290 TraceCheckUtils]: 25: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:31,116 INFO L290 TraceCheckUtils]: 24: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:31,116 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-08 06:54:31,116 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-08 06:54:31,116 INFO L290 TraceCheckUtils]: 21: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,116 INFO L290 TraceCheckUtils]: 20: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:31,116 INFO L290 TraceCheckUtils]: 19: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:31,116 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-08 06:54:31,117 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-08 06:54:31,117 INFO L290 TraceCheckUtils]: 16: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,117 INFO L290 TraceCheckUtils]: 15: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:31,117 INFO L290 TraceCheckUtils]: 14: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:31,117 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-08 06:54:31,117 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-08 06:54:31,118 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-08 06:54:31,118 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11175#true} {11175#true} #78#return; {11175#true} is VALID [2022-04-08 06:54:31,118 INFO L290 TraceCheckUtils]: 9: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,118 INFO L290 TraceCheckUtils]: 8: Hoare triple {11175#true} assume !(0 == ~cond); {11175#true} is VALID [2022-04-08 06:54:31,118 INFO L290 TraceCheckUtils]: 7: Hoare triple {11175#true} ~cond := #in~cond; {11175#true} is VALID [2022-04-08 06:54:31,118 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-08 06:54:31,118 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-08 06:54:31,118 INFO L272 TraceCheckUtils]: 4: Hoare triple {11175#true} call #t~ret5 := main(); {11175#true} is VALID [2022-04-08 06:54:31,118 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11175#true} {11175#true} #94#return; {11175#true} is VALID [2022-04-08 06:54:31,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {11175#true} assume true; {11175#true} is VALID [2022-04-08 06:54:31,118 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-08 06:54:31,118 INFO L272 TraceCheckUtils]: 0: Hoare triple {11175#true} call ULTIMATE.init(); {11175#true} is VALID [2022-04-08 06:54:31,119 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-08 06:54:31,119 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:54:31,119 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [722731950] [2022-04-08 06:54:31,119 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:54:31,119 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1865723961] [2022-04-08 06:54:31,119 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1865723961] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:54:31,119 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:54:31,119 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 16 [2022-04-08 06:54:31,119 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:54:31,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1015426070] [2022-04-08 06:54:31,120 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1015426070] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:54:31,120 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:54:31,120 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 06:54:31,120 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2128066122] [2022-04-08 06:54:31,120 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:54:31,120 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-08 06:54:31,120 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:54:31,120 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-08 06:54:31,173 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-08 06:54:31,173 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 06:54:31,173 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:54:31,174 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 06:54:31,174 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-08 06:54:31,174 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-08 06:54:32,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:32,172 INFO L93 Difference]: Finished difference Result 171 states and 190 transitions. [2022-04-08 06:54:32,173 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 06:54:32,173 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-08 06:54:32,173 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:54:32,173 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-08 06:54:32,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-08 06:54:32,175 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-08 06:54:32,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-08 06:54:32,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 97 transitions. [2022-04-08 06:54:32,287 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-08 06:54:32,289 INFO L225 Difference]: With dead ends: 171 [2022-04-08 06:54:32,289 INFO L226 Difference]: Without dead ends: 143 [2022-04-08 06:54:32,290 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 210 GetRequests, 191 SyntacticMatches, 4 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=66, Invalid=206, Unknown=0, NotChecked=0, Total=272 [2022-04-08 06:54:32,290 INFO L913 BasicCegarLoop]: 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-08 06:54:32,290 INFO L914 BasicCegarLoop]: 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-08 06:54:32,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-04-08 06:54:32,406 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 143. [2022-04-08 06:54:32,407 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:54:32,407 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-08 06:54:32,407 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-08 06:54:32,408 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-08 06:54:32,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:32,411 INFO L93 Difference]: Finished difference Result 143 states and 161 transitions. [2022-04-08 06:54:32,411 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 161 transitions. [2022-04-08 06:54:32,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:54:32,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:54:32,411 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-08 06:54:32,411 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-08 06:54:32,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:32,414 INFO L93 Difference]: Finished difference Result 143 states and 161 transitions. [2022-04-08 06:54:32,414 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 161 transitions. [2022-04-08 06:54:32,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:54:32,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:54:32,415 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:54:32,415 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:54:32,415 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-08 06:54:32,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 161 transitions. [2022-04-08 06:54:32,418 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 161 transitions. Word has length 105 [2022-04-08 06:54:32,418 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:54:32,418 INFO L478 AbstractCegarLoop]: Abstraction has 143 states and 161 transitions. [2022-04-08 06:54:32,418 INFO L479 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-08 06:54:32,418 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 143 states and 161 transitions. [2022-04-08 06:54:32,631 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-08 06:54:32,631 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 161 transitions. [2022-04-08 06:54:32,632 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-08 06:54:32,632 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:54:32,632 INFO L499 BasicCegarLoop]: 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-08 06:54:32,657 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-08 06:54:32,833 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 06:54:32,833 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:54:32,833 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:54:32,833 INFO L85 PathProgramCache]: Analyzing trace with hash 1328912794, now seen corresponding path program 1 times [2022-04-08 06:54:32,833 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:54:32,833 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [49031612] [2022-04-08 06:54:34,939 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:54:34,939 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:54:34,939 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:54:34,939 INFO L85 PathProgramCache]: Analyzing trace with hash 1328912794, now seen corresponding path program 2 times [2022-04-08 06:54:34,939 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:54:34,939 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [90088613] [2022-04-08 06:54:34,939 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:54:34,940 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:54:34,950 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:54:34,950 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1009553738] [2022-04-08 06:54:34,950 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:54:34,950 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:54:34,950 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:54:34,954 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-08 06:54:34,955 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-08 06:54:35,006 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:54:35,006 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:54:35,007 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 06:54:35,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:54:35,021 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:54:36,756 INFO L272 TraceCheckUtils]: 0: Hoare triple {12736#true} call ULTIMATE.init(); {12736#true} is VALID [2022-04-08 06:54:36,756 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-08 06:54:36,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,757 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12736#true} {12736#true} #94#return; {12736#true} is VALID [2022-04-08 06:54:36,757 INFO L272 TraceCheckUtils]: 4: Hoare triple {12736#true} call #t~ret5 := main(); {12736#true} is VALID [2022-04-08 06:54:36,757 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-08 06:54:36,757 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-08 06:54:36,757 INFO L290 TraceCheckUtils]: 7: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-08 06:54:36,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-08 06:54:36,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,757 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12736#true} {12736#true} #78#return; {12736#true} is VALID [2022-04-08 06:54:36,759 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-08 06:54:36,759 INFO L290 TraceCheckUtils]: 12: Hoare triple {12774#(<= 1 main_~d~0)} assume !false; {12774#(<= 1 main_~d~0)} is VALID [2022-04-08 06:54:36,759 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-08 06:54:36,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-08 06:54:36,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-08 06:54:36,759 INFO L290 TraceCheckUtils]: 16: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,760 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {12736#true} {12774#(<= 1 main_~d~0)} #80#return; {12774#(<= 1 main_~d~0)} is VALID [2022-04-08 06:54:36,760 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-08 06:54:36,760 INFO L290 TraceCheckUtils]: 19: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-08 06:54:36,760 INFO L290 TraceCheckUtils]: 20: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-08 06:54:36,760 INFO L290 TraceCheckUtils]: 21: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,761 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12736#true} {12774#(<= 1 main_~d~0)} #82#return; {12774#(<= 1 main_~d~0)} is VALID [2022-04-08 06:54:36,761 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-08 06:54:36,761 INFO L290 TraceCheckUtils]: 24: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-08 06:54:36,761 INFO L290 TraceCheckUtils]: 25: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-08 06:54:36,761 INFO L290 TraceCheckUtils]: 26: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,761 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {12736#true} {12774#(<= 1 main_~d~0)} #84#return; {12774#(<= 1 main_~d~0)} is VALID [2022-04-08 06:54:36,762 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-08 06:54:36,763 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-08 06:54:36,763 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-08 06:54:36,763 INFO L290 TraceCheckUtils]: 31: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-08 06:54:36,763 INFO L290 TraceCheckUtils]: 32: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-08 06:54:36,763 INFO L290 TraceCheckUtils]: 33: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,763 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-08 06:54:36,763 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-08 06:54:36,764 INFO L290 TraceCheckUtils]: 36: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-08 06:54:36,764 INFO L290 TraceCheckUtils]: 37: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-08 06:54:36,764 INFO L290 TraceCheckUtils]: 38: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,764 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-08 06:54:36,764 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-08 06:54:36,764 INFO L290 TraceCheckUtils]: 41: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-08 06:54:36,764 INFO L290 TraceCheckUtils]: 42: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-08 06:54:36,765 INFO L290 TraceCheckUtils]: 43: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,765 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-08 06:54:36,766 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-08 06:54:36,767 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-08 06:54:36,767 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-08 06:54:36,767 INFO L290 TraceCheckUtils]: 48: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-08 06:54:36,767 INFO L290 TraceCheckUtils]: 49: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-08 06:54:36,767 INFO L290 TraceCheckUtils]: 50: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,767 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-08 06:54:36,768 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-08 06:54:36,768 INFO L290 TraceCheckUtils]: 53: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-08 06:54:36,768 INFO L290 TraceCheckUtils]: 54: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-08 06:54:36,768 INFO L290 TraceCheckUtils]: 55: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,768 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-08 06:54:36,768 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-08 06:54:36,769 INFO L290 TraceCheckUtils]: 58: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-08 06:54:36,769 INFO L290 TraceCheckUtils]: 59: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-08 06:54:36,769 INFO L290 TraceCheckUtils]: 60: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,769 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-08 06:54:36,770 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-08 06:54:36,770 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-08 06:54:36,770 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-08 06:54:36,770 INFO L290 TraceCheckUtils]: 65: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-08 06:54:36,770 INFO L290 TraceCheckUtils]: 66: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-08 06:54:36,770 INFO L290 TraceCheckUtils]: 67: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,771 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-08 06:54:36,771 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-08 06:54:36,771 INFO L290 TraceCheckUtils]: 70: Hoare triple {12736#true} ~cond := #in~cond; {12736#true} is VALID [2022-04-08 06:54:36,771 INFO L290 TraceCheckUtils]: 71: Hoare triple {12736#true} assume !(0 == ~cond); {12736#true} is VALID [2022-04-08 06:54:36,771 INFO L290 TraceCheckUtils]: 72: Hoare triple {12736#true} assume true; {12736#true} is VALID [2022-04-08 06:54:36,772 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-08 06:54:36,773 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-08 06:54:36,774 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-08 06:54:36,774 INFO L290 TraceCheckUtils]: 76: Hoare triple {12737#false} assume !false; {12737#false} is VALID [2022-04-08 06:54:36,774 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-08 06:54:36,774 INFO L290 TraceCheckUtils]: 78: Hoare triple {12737#false} ~cond := #in~cond; {12737#false} is VALID [2022-04-08 06:54:36,774 INFO L290 TraceCheckUtils]: 79: Hoare triple {12737#false} assume !(0 == ~cond); {12737#false} is VALID [2022-04-08 06:54:36,774 INFO L290 TraceCheckUtils]: 80: Hoare triple {12737#false} assume true; {12737#false} is VALID [2022-04-08 06:54:36,774 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {12737#false} {12737#false} #86#return; {12737#false} is VALID [2022-04-08 06:54:36,775 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-08 06:54:36,775 INFO L290 TraceCheckUtils]: 83: Hoare triple {12737#false} ~cond := #in~cond; {12737#false} is VALID [2022-04-08 06:54:36,775 INFO L290 TraceCheckUtils]: 84: Hoare triple {12737#false} assume !(0 == ~cond); {12737#false} is VALID [2022-04-08 06:54:36,775 INFO L290 TraceCheckUtils]: 85: Hoare triple {12737#false} assume true; {12737#false} is VALID [2022-04-08 06:54:36,775 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {12737#false} {12737#false} #88#return; {12737#false} is VALID [2022-04-08 06:54:36,775 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-08 06:54:36,775 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-08 06:54:36,775 INFO L290 TraceCheckUtils]: 89: Hoare triple {12737#false} assume !false; {12737#false} is VALID [2022-04-08 06:54:36,775 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-08 06:54:36,775 INFO L290 TraceCheckUtils]: 91: Hoare triple {12737#false} ~cond := #in~cond; {12737#false} is VALID [2022-04-08 06:54:36,775 INFO L290 TraceCheckUtils]: 92: Hoare triple {12737#false} assume !(0 == ~cond); {12737#false} is VALID [2022-04-08 06:54:36,775 INFO L290 TraceCheckUtils]: 93: Hoare triple {12737#false} assume true; {12737#false} is VALID [2022-04-08 06:54:36,776 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {12737#false} {12737#false} #86#return; {12737#false} is VALID [2022-04-08 06:54:36,776 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-08 06:54:36,776 INFO L290 TraceCheckUtils]: 96: Hoare triple {12737#false} ~cond := #in~cond; {12737#false} is VALID [2022-04-08 06:54:36,776 INFO L290 TraceCheckUtils]: 97: Hoare triple {12737#false} assume !(0 == ~cond); {12737#false} is VALID [2022-04-08 06:54:36,776 INFO L290 TraceCheckUtils]: 98: Hoare triple {12737#false} assume true; {12737#false} is VALID [2022-04-08 06:54:36,776 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {12737#false} {12737#false} #88#return; {12737#false} is VALID [2022-04-08 06:54:36,776 INFO L290 TraceCheckUtils]: 100: Hoare triple {12737#false} assume !(1 != ~p~0); {12737#false} is VALID [2022-04-08 06:54:36,776 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-08 06:54:36,776 INFO L290 TraceCheckUtils]: 102: Hoare triple {12737#false} ~cond := #in~cond; {12737#false} is VALID [2022-04-08 06:54:36,776 INFO L290 TraceCheckUtils]: 103: Hoare triple {12737#false} assume 0 == ~cond; {12737#false} is VALID [2022-04-08 06:54:36,776 INFO L290 TraceCheckUtils]: 104: Hoare triple {12737#false} assume !false; {12737#false} is VALID [2022-04-08 06:54:36,777 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-08 06:54:36,777 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 06:54:36,777 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:54:36,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [90088613] [2022-04-08 06:54:36,777 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:54:36,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1009553738] [2022-04-08 06:54:36,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1009553738] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:54:36,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:54:36,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:54:36,778 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:54:36,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [49031612] [2022-04-08 06:54:36,778 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [49031612] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:54:36,778 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:54:36,778 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:54:36,778 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1330719039] [2022-04-08 06:54:36,778 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:54:36,778 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-08 06:54:36,779 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:54:36,779 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-08 06:54:36,840 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-08 06:54:36,840 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:54:36,840 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:54:36,841 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:54:36,841 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:54:36,841 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-08 06:54:37,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:37,422 INFO L93 Difference]: Finished difference Result 195 states and 230 transitions. [2022-04-08 06:54:37,422 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 06:54:37,422 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-08 06:54:37,422 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:54:37,422 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-08 06:54:37,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 101 transitions. [2022-04-08 06:54:37,424 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-08 06:54:37,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 101 transitions. [2022-04-08 06:54:37,425 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 101 transitions. [2022-04-08 06:54:37,522 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-08 06:54:37,525 INFO L225 Difference]: With dead ends: 195 [2022-04-08 06:54:37,525 INFO L226 Difference]: Without dead ends: 124 [2022-04-08 06:54:37,525 INFO L912 BasicCegarLoop]: 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-08 06:54:37,526 INFO L913 BasicCegarLoop]: 55 mSDtfsCounter, 8 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 102 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:54:37,526 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 157 Invalid, 108 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 102 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:54:37,526 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-08 06:54:37,626 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 107. [2022-04-08 06:54:37,626 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:54:37,627 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-08 06:54:37,627 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-08 06:54:37,627 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-08 06:54:37,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:37,630 INFO L93 Difference]: Finished difference Result 124 states and 146 transitions. [2022-04-08 06:54:37,630 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 146 transitions. [2022-04-08 06:54:37,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:54:37,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:54:37,631 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-08 06:54:37,631 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-08 06:54:37,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:37,634 INFO L93 Difference]: Finished difference Result 124 states and 146 transitions. [2022-04-08 06:54:37,634 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 146 transitions. [2022-04-08 06:54:37,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:54:37,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:54:37,634 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:54:37,634 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:54:37,634 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-08 06:54:37,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 117 transitions. [2022-04-08 06:54:37,637 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 117 transitions. Word has length 105 [2022-04-08 06:54:37,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:54:37,637 INFO L478 AbstractCegarLoop]: Abstraction has 107 states and 117 transitions. [2022-04-08 06:54:37,637 INFO L479 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-08 06:54:37,637 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 107 states and 117 transitions. [2022-04-08 06:54:37,794 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-08 06:54:37,794 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 117 transitions. [2022-04-08 06:54:37,795 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-08 06:54:37,795 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:54:37,795 INFO L499 BasicCegarLoop]: 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-08 06:54:37,811 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-08 06:54:37,995 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-08 06:54:37,996 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:54:37,996 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:54:37,996 INFO L85 PathProgramCache]: Analyzing trace with hash -416382532, now seen corresponding path program 5 times [2022-04-08 06:54:37,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:54:37,996 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2105644571] [2022-04-08 06:54:42,087 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:54:42,088 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:54:42,088 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:54:42,088 INFO L85 PathProgramCache]: Analyzing trace with hash -416382532, now seen corresponding path program 6 times [2022-04-08 06:54:42,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:54:42,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [938334503] [2022-04-08 06:54:42,088 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:54:42,088 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:54:42,107 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:54:42,107 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1731664357] [2022-04-08 06:54:42,107 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 06:54:42,107 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:54:42,107 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:54:42,111 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-08 06:54:42,121 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-08 06:54:42,168 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 06:54:42,168 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:54:42,168 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-08 06:54:42,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:54:42,190 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:54:45,044 INFO L272 TraceCheckUtils]: 0: Hoare triple {13910#true} call ULTIMATE.init(); {13910#true} is VALID [2022-04-08 06:54:45,045 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-08 06:54:45,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13910#true} {13910#true} #94#return; {13910#true} is VALID [2022-04-08 06:54:45,045 INFO L272 TraceCheckUtils]: 4: Hoare triple {13910#true} call #t~ret5 := main(); {13910#true} is VALID [2022-04-08 06:54:45,045 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-08 06:54:45,045 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-08 06:54:45,045 INFO L290 TraceCheckUtils]: 7: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,045 INFO L290 TraceCheckUtils]: 8: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,045 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13910#true} {13910#true} #78#return; {13910#true} is VALID [2022-04-08 06:54:45,045 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-08 06:54:45,046 INFO L290 TraceCheckUtils]: 12: Hoare triple {13948#(<= 1 main_~p~0)} assume !false; {13948#(<= 1 main_~p~0)} is VALID [2022-04-08 06:54:45,046 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-08 06:54:45,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,046 INFO L290 TraceCheckUtils]: 16: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,046 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #80#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-08 06:54:45,046 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-08 06:54:45,046 INFO L290 TraceCheckUtils]: 19: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,046 INFO L290 TraceCheckUtils]: 20: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,046 INFO L290 TraceCheckUtils]: 21: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,047 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #82#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-08 06:54:45,047 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-08 06:54:45,047 INFO L290 TraceCheckUtils]: 24: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,047 INFO L290 TraceCheckUtils]: 25: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,047 INFO L290 TraceCheckUtils]: 26: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,048 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #84#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-08 06:54:45,048 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-08 06:54:45,048 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-08 06:54:45,048 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-08 06:54:45,049 INFO L290 TraceCheckUtils]: 31: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,049 INFO L290 TraceCheckUtils]: 32: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,049 INFO L290 TraceCheckUtils]: 33: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,049 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-08 06:54:45,049 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-08 06:54:45,049 INFO L290 TraceCheckUtils]: 36: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,049 INFO L290 TraceCheckUtils]: 37: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,049 INFO L290 TraceCheckUtils]: 38: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,050 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-08 06:54:45,050 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-08 06:54:45,050 INFO L290 TraceCheckUtils]: 41: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,050 INFO L290 TraceCheckUtils]: 42: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,050 INFO L290 TraceCheckUtils]: 43: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,050 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-08 06:54:45,051 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-08 06:54:45,051 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-08 06:54:45,051 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-08 06:54:45,051 INFO L290 TraceCheckUtils]: 48: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,051 INFO L290 TraceCheckUtils]: 49: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,051 INFO L290 TraceCheckUtils]: 50: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,052 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-08 06:54:45,052 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-08 06:54:45,052 INFO L290 TraceCheckUtils]: 53: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,052 INFO L290 TraceCheckUtils]: 54: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,052 INFO L290 TraceCheckUtils]: 55: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,052 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-08 06:54:45,052 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-08 06:54:45,053 INFO L290 TraceCheckUtils]: 58: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,053 INFO L290 TraceCheckUtils]: 59: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,053 INFO L290 TraceCheckUtils]: 60: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,055 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-08 06:54:45,056 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-08 06:54:45,056 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-08 06:54:45,056 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-08 06:54:45,056 INFO L290 TraceCheckUtils]: 65: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,056 INFO L290 TraceCheckUtils]: 66: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,057 INFO L290 TraceCheckUtils]: 67: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,057 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-08 06:54:45,057 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-08 06:54:45,057 INFO L290 TraceCheckUtils]: 70: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,057 INFO L290 TraceCheckUtils]: 71: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,057 INFO L290 TraceCheckUtils]: 72: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,058 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-08 06:54:45,058 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-08 06:54:45,058 INFO L290 TraceCheckUtils]: 75: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,058 INFO L290 TraceCheckUtils]: 76: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,058 INFO L290 TraceCheckUtils]: 77: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,058 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-08 06:54:45,059 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-08 06:54:45,059 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-08 06:54:45,059 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-08 06:54:45,059 INFO L290 TraceCheckUtils]: 82: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,059 INFO L290 TraceCheckUtils]: 83: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,059 INFO L290 TraceCheckUtils]: 84: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,060 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-08 06:54:45,060 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-08 06:54:45,060 INFO L290 TraceCheckUtils]: 87: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,060 INFO L290 TraceCheckUtils]: 88: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,060 INFO L290 TraceCheckUtils]: 89: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,060 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-08 06:54:45,061 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-08 06:54:45,062 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-08 06:54:45,062 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-08 06:54:45,062 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-08 06:54:45,062 INFO L290 TraceCheckUtils]: 95: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,062 INFO L290 TraceCheckUtils]: 96: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,062 INFO L290 TraceCheckUtils]: 97: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,062 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-08 06:54:45,063 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-08 06:54:45,063 INFO L290 TraceCheckUtils]: 100: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,063 INFO L290 TraceCheckUtils]: 101: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,063 INFO L290 TraceCheckUtils]: 102: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,063 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-08 06:54:45,063 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-08 06:54:45,063 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-08 06:54:45,064 INFO L290 TraceCheckUtils]: 106: Hoare triple {13911#false} ~cond := #in~cond; {13911#false} is VALID [2022-04-08 06:54:45,064 INFO L290 TraceCheckUtils]: 107: Hoare triple {13911#false} assume 0 == ~cond; {13911#false} is VALID [2022-04-08 06:54:45,064 INFO L290 TraceCheckUtils]: 108: Hoare triple {13911#false} assume !false; {13911#false} is VALID [2022-04-08 06:54:45,064 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-08 06:54:45,064 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:54:45,800 INFO L290 TraceCheckUtils]: 108: Hoare triple {13911#false} assume !false; {13911#false} is VALID [2022-04-08 06:54:45,800 INFO L290 TraceCheckUtils]: 107: Hoare triple {13911#false} assume 0 == ~cond; {13911#false} is VALID [2022-04-08 06:54:45,800 INFO L290 TraceCheckUtils]: 106: Hoare triple {13911#false} ~cond := #in~cond; {13911#false} is VALID [2022-04-08 06:54:45,800 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-08 06:54:45,800 INFO L290 TraceCheckUtils]: 104: Hoare triple {14000#(<= 1 (div main_~p~0 2))} assume !(1 != ~p~0); {13911#false} is VALID [2022-04-08 06:54:45,801 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-08 06:54:45,801 INFO L290 TraceCheckUtils]: 102: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,801 INFO L290 TraceCheckUtils]: 101: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,801 INFO L290 TraceCheckUtils]: 100: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,801 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-08 06:54:45,802 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-08 06:54:45,802 INFO L290 TraceCheckUtils]: 97: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,802 INFO L290 TraceCheckUtils]: 96: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,802 INFO L290 TraceCheckUtils]: 95: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,802 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-08 06:54:45,802 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-08 06:54:45,802 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-08 06:54:45,803 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-08 06:54:45,804 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-08 06:54:45,804 INFO L290 TraceCheckUtils]: 89: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,804 INFO L290 TraceCheckUtils]: 88: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,804 INFO L290 TraceCheckUtils]: 87: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,804 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-08 06:54:45,804 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-08 06:54:45,804 INFO L290 TraceCheckUtils]: 84: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,805 INFO L290 TraceCheckUtils]: 83: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,805 INFO L290 TraceCheckUtils]: 82: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,805 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-08 06:54:45,805 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-08 06:54:45,805 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-08 06:54:45,806 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-08 06:54:45,806 INFO L290 TraceCheckUtils]: 77: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,806 INFO L290 TraceCheckUtils]: 76: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,806 INFO L290 TraceCheckUtils]: 75: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,806 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-08 06:54:45,806 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-08 06:54:45,806 INFO L290 TraceCheckUtils]: 72: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,806 INFO L290 TraceCheckUtils]: 71: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,806 INFO L290 TraceCheckUtils]: 70: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,806 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-08 06:54:45,807 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-08 06:54:45,807 INFO L290 TraceCheckUtils]: 67: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,807 INFO L290 TraceCheckUtils]: 66: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,807 INFO L290 TraceCheckUtils]: 65: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,807 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-08 06:54:45,807 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-08 06:54:45,808 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-08 06:54:45,808 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-08 06:54:45,808 INFO L290 TraceCheckUtils]: 60: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,808 INFO L290 TraceCheckUtils]: 59: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,809 INFO L290 TraceCheckUtils]: 58: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,809 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-08 06:54:45,809 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-08 06:54:45,809 INFO L290 TraceCheckUtils]: 55: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,809 INFO L290 TraceCheckUtils]: 54: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,809 INFO L290 TraceCheckUtils]: 53: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,809 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-08 06:54:45,810 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-08 06:54:45,810 INFO L290 TraceCheckUtils]: 50: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,810 INFO L290 TraceCheckUtils]: 49: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,810 INFO L290 TraceCheckUtils]: 48: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,810 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-08 06:54:45,810 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-08 06:54:45,811 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-08 06:54:45,811 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #84#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-08 06:54:45,811 INFO L290 TraceCheckUtils]: 43: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,811 INFO L290 TraceCheckUtils]: 42: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,811 INFO L290 TraceCheckUtils]: 41: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,811 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-08 06:54:45,812 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #82#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-08 06:54:45,812 INFO L290 TraceCheckUtils]: 38: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,812 INFO L290 TraceCheckUtils]: 37: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,812 INFO L290 TraceCheckUtils]: 36: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,812 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-08 06:54:45,812 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #80#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-08 06:54:45,812 INFO L290 TraceCheckUtils]: 33: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,812 INFO L290 TraceCheckUtils]: 32: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,812 INFO L290 TraceCheckUtils]: 31: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,812 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-08 06:54:45,813 INFO L290 TraceCheckUtils]: 29: Hoare triple {13948#(<= 1 main_~p~0)} assume !false; {13948#(<= 1 main_~p~0)} is VALID [2022-04-08 06:54:45,824 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-08 06:54:45,824 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #84#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-08 06:54:45,824 INFO L290 TraceCheckUtils]: 26: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,824 INFO L290 TraceCheckUtils]: 25: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,824 INFO L290 TraceCheckUtils]: 24: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,824 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-08 06:54:45,825 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #82#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-08 06:54:45,825 INFO L290 TraceCheckUtils]: 21: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,825 INFO L290 TraceCheckUtils]: 20: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,825 INFO L290 TraceCheckUtils]: 19: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,825 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-08 06:54:45,825 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {13910#true} {13948#(<= 1 main_~p~0)} #80#return; {13948#(<= 1 main_~p~0)} is VALID [2022-04-08 06:54:45,825 INFO L290 TraceCheckUtils]: 16: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,825 INFO L290 TraceCheckUtils]: 15: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,825 INFO L290 TraceCheckUtils]: 14: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,825 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-08 06:54:45,826 INFO L290 TraceCheckUtils]: 12: Hoare triple {13948#(<= 1 main_~p~0)} assume !false; {13948#(<= 1 main_~p~0)} is VALID [2022-04-08 06:54:45,826 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-08 06:54:45,826 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13910#true} {13910#true} #78#return; {13910#true} is VALID [2022-04-08 06:54:45,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,826 INFO L290 TraceCheckUtils]: 8: Hoare triple {13910#true} assume !(0 == ~cond); {13910#true} is VALID [2022-04-08 06:54:45,826 INFO L290 TraceCheckUtils]: 7: Hoare triple {13910#true} ~cond := #in~cond; {13910#true} is VALID [2022-04-08 06:54:45,826 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-08 06:54:45,826 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-08 06:54:45,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {13910#true} call #t~ret5 := main(); {13910#true} is VALID [2022-04-08 06:54:45,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13910#true} {13910#true} #94#return; {13910#true} is VALID [2022-04-08 06:54:45,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {13910#true} assume true; {13910#true} is VALID [2022-04-08 06:54:45,827 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-08 06:54:45,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {13910#true} call ULTIMATE.init(); {13910#true} is VALID [2022-04-08 06:54:45,827 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-08 06:54:45,827 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:54:45,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [938334503] [2022-04-08 06:54:45,827 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:54:45,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1731664357] [2022-04-08 06:54:45,827 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1731664357] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:54:45,827 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:54:45,828 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 6 [2022-04-08 06:54:45,828 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:54:45,828 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2105644571] [2022-04-08 06:54:45,828 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2105644571] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:54:45,828 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:54:45,828 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:54:45,828 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [706017815] [2022-04-08 06:54:45,828 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:54:45,829 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-08 06:54:45,829 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:54:45,829 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-08 06:54:45,887 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-08 06:54:45,887 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:54:45,887 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:54:45,887 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:54:45,887 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:54:45,888 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-08 06:54:46,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:46,259 INFO L93 Difference]: Finished difference Result 128 states and 148 transitions. [2022-04-08 06:54:46,259 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 06:54:46,259 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-08 06:54:46,260 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:54:46,260 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-08 06:54:46,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-08 06:54:46,261 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-08 06:54:46,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 93 transitions. [2022-04-08 06:54:46,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 93 transitions. [2022-04-08 06:54:46,355 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-08 06:54:46,357 INFO L225 Difference]: With dead ends: 128 [2022-04-08 06:54:46,357 INFO L226 Difference]: Without dead ends: 120 [2022-04-08 06:54:46,357 INFO L912 BasicCegarLoop]: 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-08 06:54:46,358 INFO L913 BasicCegarLoop]: 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-08 06:54:46,358 INFO L914 BasicCegarLoop]: 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-08 06:54:46,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-04-08 06:54:46,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 120. [2022-04-08 06:54:46,504 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:54:46,504 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-08 06:54:46,504 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-08 06:54:46,504 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-08 06:54:46,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:46,507 INFO L93 Difference]: Finished difference Result 120 states and 137 transitions. [2022-04-08 06:54:46,507 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 137 transitions. [2022-04-08 06:54:46,507 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:54:46,507 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:54:46,508 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-08 06:54:46,508 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-08 06:54:46,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:46,510 INFO L93 Difference]: Finished difference Result 120 states and 137 transitions. [2022-04-08 06:54:46,510 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 137 transitions. [2022-04-08 06:54:46,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:54:46,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:54:46,511 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:54:46,511 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:54:46,511 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-08 06:54:46,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 137 transitions. [2022-04-08 06:54:46,514 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 137 transitions. Word has length 109 [2022-04-08 06:54:46,514 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:54:46,514 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 137 transitions. [2022-04-08 06:54:46,514 INFO L479 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-08 06:54:46,514 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 137 transitions. [2022-04-08 06:54:46,747 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-08 06:54:46,748 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 137 transitions. [2022-04-08 06:54:46,748 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-08 06:54:46,748 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:54:46,748 INFO L499 BasicCegarLoop]: 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-08 06:54:46,773 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-08 06:54:46,949 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 06:54:46,949 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:54:46,949 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:54:46,949 INFO L85 PathProgramCache]: Analyzing trace with hash -76721736, now seen corresponding path program 13 times [2022-04-08 06:54:46,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:54:46,950 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1353972586] [2022-04-08 06:54:51,036 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:54:51,037 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:54:51,037 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:54:51,037 INFO L85 PathProgramCache]: Analyzing trace with hash -76721736, now seen corresponding path program 14 times [2022-04-08 06:54:51,037 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:54:51,037 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [867076201] [2022-04-08 06:54:51,037 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:54:51,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:54:51,057 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:54:51,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [895990205] [2022-04-08 06:54:51,057 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:54:51,057 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:54:51,057 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:54:51,063 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-08 06:54:51,064 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-08 06:54:51,114 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:54:51,114 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:54:51,115 INFO L263 TraceCheckSpWp]: Trace formula consists of 258 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 06:54:51,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:54:51,133 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:54:51,794 INFO L272 TraceCheckUtils]: 0: Hoare triple {15305#true} call ULTIMATE.init(); {15305#true} is VALID [2022-04-08 06:54:51,794 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-08 06:54:51,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15305#true} {15305#true} #94#return; {15305#true} is VALID [2022-04-08 06:54:51,794 INFO L272 TraceCheckUtils]: 4: Hoare triple {15305#true} call #t~ret5 := main(); {15305#true} is VALID [2022-04-08 06:54:51,794 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-08 06:54:51,795 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-08 06:54:51,795 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-08 06:54:51,795 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-08 06:54:51,795 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-08 06:54:51,796 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-08 06:54:51,796 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-08 06:54:51,796 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-08 06:54:51,797 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-08 06:54:51,797 INFO L290 TraceCheckUtils]: 14: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,797 INFO L290 TraceCheckUtils]: 15: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,797 INFO L290 TraceCheckUtils]: 16: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,797 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-08 06:54:51,797 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-08 06:54:51,797 INFO L290 TraceCheckUtils]: 19: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,797 INFO L290 TraceCheckUtils]: 20: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,797 INFO L290 TraceCheckUtils]: 21: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,798 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-08 06:54:51,798 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-08 06:54:51,798 INFO L290 TraceCheckUtils]: 24: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,798 INFO L290 TraceCheckUtils]: 25: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,798 INFO L290 TraceCheckUtils]: 26: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,798 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-08 06:54:51,799 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-08 06:54:51,799 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-08 06:54:51,799 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-08 06:54:51,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,799 INFO L290 TraceCheckUtils]: 32: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,799 INFO L290 TraceCheckUtils]: 33: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,800 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-08 06:54:51,800 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-08 06:54:51,800 INFO L290 TraceCheckUtils]: 36: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,800 INFO L290 TraceCheckUtils]: 37: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,800 INFO L290 TraceCheckUtils]: 38: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,800 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-08 06:54:51,800 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-08 06:54:51,800 INFO L290 TraceCheckUtils]: 41: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,801 INFO L290 TraceCheckUtils]: 42: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,801 INFO L290 TraceCheckUtils]: 43: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,801 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-08 06:54:51,801 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-08 06:54:51,802 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-08 06:54:51,802 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-08 06:54:51,802 INFO L290 TraceCheckUtils]: 48: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,802 INFO L290 TraceCheckUtils]: 49: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,802 INFO L290 TraceCheckUtils]: 50: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,802 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-08 06:54:51,802 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-08 06:54:51,802 INFO L290 TraceCheckUtils]: 53: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,803 INFO L290 TraceCheckUtils]: 54: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,803 INFO L290 TraceCheckUtils]: 55: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,803 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-08 06:54:51,803 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-08 06:54:51,803 INFO L290 TraceCheckUtils]: 58: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,803 INFO L290 TraceCheckUtils]: 59: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,803 INFO L290 TraceCheckUtils]: 60: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,804 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-08 06:54:51,804 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-08 06:54:51,804 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-08 06:54:51,804 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-08 06:54:51,804 INFO L290 TraceCheckUtils]: 65: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,804 INFO L290 TraceCheckUtils]: 66: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,805 INFO L290 TraceCheckUtils]: 67: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,805 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-08 06:54:51,805 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-08 06:54:51,805 INFO L290 TraceCheckUtils]: 70: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,805 INFO L290 TraceCheckUtils]: 71: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,805 INFO L290 TraceCheckUtils]: 72: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,806 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-08 06:54:51,806 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-08 06:54:51,806 INFO L290 TraceCheckUtils]: 75: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,806 INFO L290 TraceCheckUtils]: 76: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,806 INFO L290 TraceCheckUtils]: 77: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,806 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-08 06:54:51,807 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-08 06:54:51,807 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-08 06:54:51,807 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-08 06:54:51,807 INFO L290 TraceCheckUtils]: 82: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,807 INFO L290 TraceCheckUtils]: 83: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,807 INFO L290 TraceCheckUtils]: 84: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,808 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-08 06:54:51,808 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-08 06:54:51,808 INFO L290 TraceCheckUtils]: 87: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,808 INFO L290 TraceCheckUtils]: 88: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,808 INFO L290 TraceCheckUtils]: 89: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,808 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-08 06:54:51,809 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-08 06:54:51,809 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-08 06:54:51,810 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-08 06:54:51,810 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-08 06:54:51,810 INFO L290 TraceCheckUtils]: 95: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,810 INFO L290 TraceCheckUtils]: 96: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,810 INFO L290 TraceCheckUtils]: 97: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,810 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-08 06:54:51,811 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-08 06:54:51,811 INFO L290 TraceCheckUtils]: 100: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:51,811 INFO L290 TraceCheckUtils]: 101: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:51,811 INFO L290 TraceCheckUtils]: 102: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:51,811 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-08 06:54:51,812 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-08 06:54:51,812 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-08 06:54:51,812 INFO L290 TraceCheckUtils]: 106: Hoare triple {15306#false} assume !false; {15306#false} is VALID [2022-04-08 06:54:51,812 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-08 06:54:51,812 INFO L290 TraceCheckUtils]: 108: Hoare triple {15306#false} ~cond := #in~cond; {15306#false} is VALID [2022-04-08 06:54:51,812 INFO L290 TraceCheckUtils]: 109: Hoare triple {15306#false} assume 0 == ~cond; {15306#false} is VALID [2022-04-08 06:54:51,812 INFO L290 TraceCheckUtils]: 110: Hoare triple {15306#false} assume !false; {15306#false} is VALID [2022-04-08 06:54:51,813 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-08 06:54:51,813 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:54:52,898 INFO L290 TraceCheckUtils]: 110: Hoare triple {15306#false} assume !false; {15306#false} is VALID [2022-04-08 06:54:52,898 INFO L290 TraceCheckUtils]: 109: Hoare triple {15306#false} assume 0 == ~cond; {15306#false} is VALID [2022-04-08 06:54:52,898 INFO L290 TraceCheckUtils]: 108: Hoare triple {15306#false} ~cond := #in~cond; {15306#false} is VALID [2022-04-08 06:54:52,899 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-08 06:54:52,899 INFO L290 TraceCheckUtils]: 106: Hoare triple {15306#false} assume !false; {15306#false} is VALID [2022-04-08 06:54:52,899 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-08 06:54:52,900 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-08 06:54:52,900 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-08 06:54:52,900 INFO L290 TraceCheckUtils]: 102: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,900 INFO L290 TraceCheckUtils]: 101: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,900 INFO L290 TraceCheckUtils]: 100: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,901 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-08 06:54:52,901 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-08 06:54:52,901 INFO L290 TraceCheckUtils]: 97: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,901 INFO L290 TraceCheckUtils]: 96: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,901 INFO L290 TraceCheckUtils]: 95: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,901 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-08 06:54:52,902 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-08 06:54:52,902 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-08 06:54:52,904 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-08 06:54:52,905 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-08 06:54:52,905 INFO L290 TraceCheckUtils]: 89: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,905 INFO L290 TraceCheckUtils]: 88: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,905 INFO L290 TraceCheckUtils]: 87: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,905 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-08 06:54:52,905 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-08 06:54:52,905 INFO L290 TraceCheckUtils]: 84: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,905 INFO L290 TraceCheckUtils]: 83: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,905 INFO L290 TraceCheckUtils]: 82: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,906 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-08 06:54:52,906 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-08 06:54:52,907 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-08 06:54:52,908 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-08 06:54:52,908 INFO L290 TraceCheckUtils]: 77: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,908 INFO L290 TraceCheckUtils]: 76: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,908 INFO L290 TraceCheckUtils]: 75: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,908 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-08 06:54:52,908 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-08 06:54:52,908 INFO L290 TraceCheckUtils]: 72: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,909 INFO L290 TraceCheckUtils]: 71: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,909 INFO L290 TraceCheckUtils]: 70: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,909 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-08 06:54:52,909 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-08 06:54:52,909 INFO L290 TraceCheckUtils]: 67: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,909 INFO L290 TraceCheckUtils]: 66: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,909 INFO L290 TraceCheckUtils]: 65: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,909 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-08 06:54:52,910 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-08 06:54:52,911 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-08 06:54:52,912 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-08 06:54:52,912 INFO L290 TraceCheckUtils]: 60: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,912 INFO L290 TraceCheckUtils]: 59: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,912 INFO L290 TraceCheckUtils]: 58: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,912 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-08 06:54:52,912 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-08 06:54:52,912 INFO L290 TraceCheckUtils]: 55: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,913 INFO L290 TraceCheckUtils]: 54: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,913 INFO L290 TraceCheckUtils]: 53: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,913 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-08 06:54:52,913 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-08 06:54:52,913 INFO L290 TraceCheckUtils]: 50: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,913 INFO L290 TraceCheckUtils]: 49: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,913 INFO L290 TraceCheckUtils]: 48: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,913 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-08 06:54:52,914 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-08 06:54:52,914 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-08 06:54:52,915 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-08 06:54:52,915 INFO L290 TraceCheckUtils]: 43: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,915 INFO L290 TraceCheckUtils]: 42: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,915 INFO L290 TraceCheckUtils]: 41: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,915 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-08 06:54:52,916 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-08 06:54:52,916 INFO L290 TraceCheckUtils]: 38: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,916 INFO L290 TraceCheckUtils]: 37: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,916 INFO L290 TraceCheckUtils]: 36: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,916 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-08 06:54:52,916 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-08 06:54:52,916 INFO L290 TraceCheckUtils]: 33: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,916 INFO L290 TraceCheckUtils]: 32: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,916 INFO L290 TraceCheckUtils]: 31: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,916 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-08 06:54:52,917 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-08 06:54:52,917 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-08 06:54:52,918 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-08 06:54:52,918 INFO L290 TraceCheckUtils]: 26: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,918 INFO L290 TraceCheckUtils]: 25: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,918 INFO L290 TraceCheckUtils]: 24: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,918 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-08 06:54:52,918 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-08 06:54:52,918 INFO L290 TraceCheckUtils]: 21: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,918 INFO L290 TraceCheckUtils]: 20: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,918 INFO L290 TraceCheckUtils]: 19: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,919 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-08 06:54:52,919 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-08 06:54:52,919 INFO L290 TraceCheckUtils]: 16: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,919 INFO L290 TraceCheckUtils]: 15: Hoare triple {15305#true} assume !(0 == ~cond); {15305#true} is VALID [2022-04-08 06:54:52,919 INFO L290 TraceCheckUtils]: 14: Hoare triple {15305#true} ~cond := #in~cond; {15305#true} is VALID [2022-04-08 06:54:52,919 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-08 06:54:52,919 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-08 06:54:52,920 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-08 06:54:52,920 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-08 06:54:52,920 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-08 06:54:52,921 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-08 06:54:52,921 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-08 06:54:52,921 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-08 06:54:52,921 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-08 06:54:52,921 INFO L272 TraceCheckUtils]: 4: Hoare triple {15305#true} call #t~ret5 := main(); {15305#true} is VALID [2022-04-08 06:54:52,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15305#true} {15305#true} #94#return; {15305#true} is VALID [2022-04-08 06:54:52,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {15305#true} assume true; {15305#true} is VALID [2022-04-08 06:54:52,921 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-08 06:54:52,921 INFO L272 TraceCheckUtils]: 0: Hoare triple {15305#true} call ULTIMATE.init(); {15305#true} is VALID [2022-04-08 06:54:52,922 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-08 06:54:52,922 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:54:52,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [867076201] [2022-04-08 06:54:52,922 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:54:52,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [895990205] [2022-04-08 06:54:52,922 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [895990205] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:54:52,922 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:54:52,922 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2022-04-08 06:54:52,923 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:54:52,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1353972586] [2022-04-08 06:54:52,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1353972586] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:54:52,923 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:54:52,923 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 06:54:52,923 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1194393105] [2022-04-08 06:54:52,923 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:54:52,923 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-08 06:54:52,924 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:54:52,924 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-08 06:54:52,974 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-08 06:54:52,975 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 06:54:52,975 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:54:52,975 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 06:54:52,975 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=283, Unknown=0, NotChecked=0, Total=342 [2022-04-08 06:54:52,975 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-08 06:54:54,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:54,276 INFO L93 Difference]: Finished difference Result 192 states and 230 transitions. [2022-04-08 06:54:54,276 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 06:54:54,276 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-08 06:54:54,276 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:54:54,276 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-08 06:54:54,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 121 transitions. [2022-04-08 06:54:54,280 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-08 06:54:54,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 121 transitions. [2022-04-08 06:54:54,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 121 transitions. [2022-04-08 06:54:54,388 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-08 06:54:54,390 INFO L225 Difference]: With dead ends: 192 [2022-04-08 06:54:54,390 INFO L226 Difference]: Without dead ends: 127 [2022-04-08 06:54:54,391 INFO L912 BasicCegarLoop]: 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-08 06:54:54,391 INFO L913 BasicCegarLoop]: 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-08 06:54:54,392 INFO L914 BasicCegarLoop]: 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-08 06:54:54,392 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-04-08 06:54:54,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 116. [2022-04-08 06:54:54,592 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:54:54,592 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-08 06:54:54,592 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-08 06:54:54,593 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-08 06:54:54,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:54,595 INFO L93 Difference]: Finished difference Result 127 states and 148 transitions. [2022-04-08 06:54:54,595 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 148 transitions. [2022-04-08 06:54:54,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:54:54,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:54:54,596 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-08 06:54:54,596 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-08 06:54:54,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:54:54,599 INFO L93 Difference]: Finished difference Result 127 states and 148 transitions. [2022-04-08 06:54:54,599 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 148 transitions. [2022-04-08 06:54:54,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:54:54,599 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:54:54,599 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:54:54,600 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:54:54,600 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-08 06:54:54,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 129 transitions. [2022-04-08 06:54:54,602 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 129 transitions. Word has length 111 [2022-04-08 06:54:54,602 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:54:54,602 INFO L478 AbstractCegarLoop]: Abstraction has 116 states and 129 transitions. [2022-04-08 06:54:54,603 INFO L479 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-08 06:54:54,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 116 states and 129 transitions. [2022-04-08 06:54:54,779 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-08 06:54:54,779 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 129 transitions. [2022-04-08 06:54:54,780 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2022-04-08 06:54:54,780 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:54:54,780 INFO L499 BasicCegarLoop]: 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-08 06:54:54,796 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-08 06:54:54,980 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:54:54,981 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:54:54,981 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:54:54,981 INFO L85 PathProgramCache]: Analyzing trace with hash -1927738231, now seen corresponding path program 1 times [2022-04-08 06:54:54,981 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:54:54,981 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1698815376] [2022-04-08 06:54:58,704 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:54:58,705 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:54:58,705 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:54:58,705 INFO L85 PathProgramCache]: Analyzing trace with hash -1927738231, now seen corresponding path program 2 times [2022-04-08 06:54:58,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:54:58,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1655798245] [2022-04-08 06:54:58,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:54:58,705 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:54:58,715 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:54:58,715 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [884660872] [2022-04-08 06:54:58,715 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:54:58,715 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:54:58,715 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:54:58,722 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-08 06:54:58,725 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-08 06:54:58,788 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:54:58,788 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:54:58,789 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-08 06:54:58,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:54:58,813 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:54:59,619 INFO L272 TraceCheckUtils]: 0: Hoare triple {16873#true} call ULTIMATE.init(); {16873#true} is VALID [2022-04-08 06:54:59,619 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-08 06:54:59,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,619 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16873#true} {16873#true} #94#return; {16873#true} is VALID [2022-04-08 06:54:59,619 INFO L272 TraceCheckUtils]: 4: Hoare triple {16873#true} call #t~ret5 := main(); {16873#true} is VALID [2022-04-08 06:54:59,619 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-08 06:54:59,619 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-08 06:54:59,620 INFO L290 TraceCheckUtils]: 7: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,620 INFO L290 TraceCheckUtils]: 8: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,620 INFO L290 TraceCheckUtils]: 9: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,620 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16873#true} {16873#true} #78#return; {16873#true} is VALID [2022-04-08 06:54:59,623 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-08 06:54:59,624 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-08 06:54:59,624 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-08 06:54:59,624 INFO L290 TraceCheckUtils]: 14: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,624 INFO L290 TraceCheckUtils]: 15: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,624 INFO L290 TraceCheckUtils]: 16: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,625 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-08 06:54:59,625 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-08 06:54:59,625 INFO L290 TraceCheckUtils]: 19: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,625 INFO L290 TraceCheckUtils]: 20: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,625 INFO L290 TraceCheckUtils]: 21: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,626 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-08 06:54:59,626 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-08 06:54:59,626 INFO L290 TraceCheckUtils]: 24: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,626 INFO L290 TraceCheckUtils]: 25: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,626 INFO L290 TraceCheckUtils]: 26: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,627 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-08 06:54:59,628 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-08 06:54:59,628 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-08 06:54:59,628 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-08 06:54:59,628 INFO L290 TraceCheckUtils]: 31: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,628 INFO L290 TraceCheckUtils]: 32: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,628 INFO L290 TraceCheckUtils]: 33: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,629 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-08 06:54:59,629 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-08 06:54:59,629 INFO L290 TraceCheckUtils]: 36: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,629 INFO L290 TraceCheckUtils]: 37: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,630 INFO L290 TraceCheckUtils]: 38: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,630 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-08 06:54:59,630 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-08 06:54:59,631 INFO L290 TraceCheckUtils]: 41: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,631 INFO L290 TraceCheckUtils]: 42: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,631 INFO L290 TraceCheckUtils]: 43: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,631 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-08 06:54:59,632 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-08 06:54:59,632 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-08 06:54:59,632 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-08 06:54:59,632 INFO L290 TraceCheckUtils]: 48: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,633 INFO L290 TraceCheckUtils]: 49: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,633 INFO L290 TraceCheckUtils]: 50: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,633 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-08 06:54:59,633 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-08 06:54:59,634 INFO L290 TraceCheckUtils]: 53: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,634 INFO L290 TraceCheckUtils]: 54: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,634 INFO L290 TraceCheckUtils]: 55: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,635 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-08 06:54:59,635 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-08 06:54:59,635 INFO L290 TraceCheckUtils]: 58: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,635 INFO L290 TraceCheckUtils]: 59: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,639 INFO L290 TraceCheckUtils]: 60: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,640 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-08 06:54:59,640 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-08 06:54:59,641 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-08 06:54:59,641 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-08 06:54:59,641 INFO L290 TraceCheckUtils]: 65: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,641 INFO L290 TraceCheckUtils]: 66: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,641 INFO L290 TraceCheckUtils]: 67: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,642 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-08 06:54:59,642 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-08 06:54:59,642 INFO L290 TraceCheckUtils]: 70: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,642 INFO L290 TraceCheckUtils]: 71: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,642 INFO L290 TraceCheckUtils]: 72: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,643 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-08 06:54:59,643 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-08 06:54:59,643 INFO L290 TraceCheckUtils]: 75: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,643 INFO L290 TraceCheckUtils]: 76: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,643 INFO L290 TraceCheckUtils]: 77: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,644 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-08 06:54:59,644 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-08 06:54:59,645 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-08 06:54:59,645 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-08 06:54:59,645 INFO L290 TraceCheckUtils]: 82: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,645 INFO L290 TraceCheckUtils]: 83: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,645 INFO L290 TraceCheckUtils]: 84: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,646 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-08 06:54:59,646 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-08 06:54:59,646 INFO L290 TraceCheckUtils]: 87: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,646 INFO L290 TraceCheckUtils]: 88: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,646 INFO L290 TraceCheckUtils]: 89: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,647 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-08 06:54:59,647 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-08 06:54:59,648 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-08 06:54:59,648 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-08 06:54:59,649 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-08 06:54:59,649 INFO L290 TraceCheckUtils]: 95: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,649 INFO L290 TraceCheckUtils]: 96: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,649 INFO L290 TraceCheckUtils]: 97: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,649 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-08 06:54:59,650 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-08 06:54:59,650 INFO L290 TraceCheckUtils]: 100: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,650 INFO L290 TraceCheckUtils]: 101: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,650 INFO L290 TraceCheckUtils]: 102: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,650 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-08 06:54:59,651 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-08 06:54:59,652 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-08 06:54:59,652 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-08 06:54:59,652 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-08 06:54:59,652 INFO L290 TraceCheckUtils]: 108: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,652 INFO L290 TraceCheckUtils]: 109: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,652 INFO L290 TraceCheckUtils]: 110: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,653 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-08 06:54:59,653 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-08 06:54:59,653 INFO L290 TraceCheckUtils]: 113: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:54:59,653 INFO L290 TraceCheckUtils]: 114: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:54:59,654 INFO L290 TraceCheckUtils]: 115: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:54:59,654 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-08 06:54:59,655 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-08 06:54:59,656 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-08 06:54:59,656 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-08 06:54:59,657 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-08 06:54:59,657 INFO L290 TraceCheckUtils]: 121: Hoare triple {17246#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17250#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:54:59,658 INFO L290 TraceCheckUtils]: 122: Hoare triple {17250#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16874#false} is VALID [2022-04-08 06:54:59,658 INFO L290 TraceCheckUtils]: 123: Hoare triple {16874#false} assume !false; {16874#false} is VALID [2022-04-08 06:54:59,659 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-08 06:54:59,659 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:55:34,857 WARN L232 SmtUtils]: Spent 6.83s 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-08 06:57:09,108 INFO L290 TraceCheckUtils]: 123: Hoare triple {16874#false} assume !false; {16874#false} is VALID [2022-04-08 06:57:09,109 INFO L290 TraceCheckUtils]: 122: Hoare triple {17250#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16874#false} is VALID [2022-04-08 06:57:09,109 INFO L290 TraceCheckUtils]: 121: Hoare triple {17246#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17250#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:57:09,110 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-08 06:57:09,110 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-08 06:57:09,121 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-08 06:57:09,142 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-08 06:57:09,143 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-08 06:57:09,143 INFO L290 TraceCheckUtils]: 115: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:09,143 INFO L290 TraceCheckUtils]: 114: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:09,143 INFO L290 TraceCheckUtils]: 113: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:09,143 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-08 06:57:09,144 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-08 06:57:09,144 INFO L290 TraceCheckUtils]: 110: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:09,144 INFO L290 TraceCheckUtils]: 109: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:09,144 INFO L290 TraceCheckUtils]: 108: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:09,144 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-08 06:57:09,145 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-08 06:57:09,146 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-08 06:57:09,330 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-08 06:57:09,331 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-08 06:57:09,331 INFO L290 TraceCheckUtils]: 102: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:09,331 INFO L290 TraceCheckUtils]: 101: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:09,331 INFO L290 TraceCheckUtils]: 100: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:09,332 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-08 06:57:09,332 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-08 06:57:09,332 INFO L290 TraceCheckUtils]: 97: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:09,332 INFO L290 TraceCheckUtils]: 96: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:09,333 INFO L290 TraceCheckUtils]: 95: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:09,333 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-08 06:57:09,337 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-08 06:57:09,556 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-08 06:57:11,564 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-08 06:57:11,566 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-08 06:57:11,566 INFO L290 TraceCheckUtils]: 89: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:11,566 INFO L290 TraceCheckUtils]: 88: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:11,566 INFO L290 TraceCheckUtils]: 87: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:11,566 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-08 06:57:11,568 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-08 06:57:11,568 INFO L290 TraceCheckUtils]: 84: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:11,568 INFO L290 TraceCheckUtils]: 83: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:11,568 INFO L290 TraceCheckUtils]: 82: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:11,568 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-08 06:57:11,585 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-08 06:57:11,600 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-08 06:57:11,601 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-08 06:57:11,601 INFO L290 TraceCheckUtils]: 77: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:11,602 INFO L290 TraceCheckUtils]: 76: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:11,602 INFO L290 TraceCheckUtils]: 75: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:11,602 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-08 06:57:11,604 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-08 06:57:11,604 INFO L290 TraceCheckUtils]: 72: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:11,604 INFO L290 TraceCheckUtils]: 71: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:11,604 INFO L290 TraceCheckUtils]: 70: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:11,604 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-08 06:57:11,606 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-08 06:57:11,606 INFO L290 TraceCheckUtils]: 67: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:11,606 INFO L290 TraceCheckUtils]: 66: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:11,606 INFO L290 TraceCheckUtils]: 65: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:11,606 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-08 06:57:11,621 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-08 06:57:13,520 INFO 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 VALID [2022-04-08 06:57:13,521 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-08 06:57:13,522 INFO L290 TraceCheckUtils]: 60: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:13,522 INFO L290 TraceCheckUtils]: 59: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:13,522 INFO L290 TraceCheckUtils]: 58: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:13,522 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-08 06:57:13,523 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-08 06:57:13,523 INFO L290 TraceCheckUtils]: 55: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:13,523 INFO L290 TraceCheckUtils]: 54: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:13,523 INFO L290 TraceCheckUtils]: 53: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:13,523 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-08 06:57:13,524 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-08 06:57:13,524 INFO L290 TraceCheckUtils]: 50: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:13,524 INFO L290 TraceCheckUtils]: 49: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:13,524 INFO L290 TraceCheckUtils]: 48: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:13,524 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-08 06:57:13,528 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-08 06:57:13,602 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-08 06:57:13,603 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-08 06:57:13,603 INFO L290 TraceCheckUtils]: 43: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:13,603 INFO L290 TraceCheckUtils]: 42: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:13,603 INFO L290 TraceCheckUtils]: 41: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:13,603 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-08 06:57:13,603 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-08 06:57:13,603 INFO L290 TraceCheckUtils]: 38: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:13,604 INFO L290 TraceCheckUtils]: 37: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:13,604 INFO L290 TraceCheckUtils]: 36: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:13,604 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-08 06:57:13,604 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-08 06:57:13,604 INFO L290 TraceCheckUtils]: 33: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:13,604 INFO L290 TraceCheckUtils]: 32: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:13,604 INFO L290 TraceCheckUtils]: 31: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:13,604 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-08 06:57:13,606 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-08 06:57:13,617 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-08 06:57:13,618 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-08 06:57:13,618 INFO L290 TraceCheckUtils]: 26: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:13,618 INFO L290 TraceCheckUtils]: 25: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:13,618 INFO L290 TraceCheckUtils]: 24: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:13,618 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-08 06:57:13,619 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-08 06:57:13,619 INFO L290 TraceCheckUtils]: 21: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:13,619 INFO L290 TraceCheckUtils]: 20: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:13,619 INFO L290 TraceCheckUtils]: 19: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:13,619 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-08 06:57:13,620 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-08 06:57:13,620 INFO L290 TraceCheckUtils]: 16: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:13,620 INFO L290 TraceCheckUtils]: 15: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:13,620 INFO L290 TraceCheckUtils]: 14: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:13,620 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-08 06:57:13,621 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-08 06:57:13,621 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-08 06:57:13,621 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16873#true} {16873#true} #78#return; {16873#true} is VALID [2022-04-08 06:57:13,622 INFO L290 TraceCheckUtils]: 9: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:13,622 INFO L290 TraceCheckUtils]: 8: Hoare triple {16873#true} assume !(0 == ~cond); {16873#true} is VALID [2022-04-08 06:57:13,622 INFO L290 TraceCheckUtils]: 7: Hoare triple {16873#true} ~cond := #in~cond; {16873#true} is VALID [2022-04-08 06:57:13,622 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-08 06:57:13,622 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-08 06:57:13,622 INFO L272 TraceCheckUtils]: 4: Hoare triple {16873#true} call #t~ret5 := main(); {16873#true} is VALID [2022-04-08 06:57:13,622 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16873#true} {16873#true} #94#return; {16873#true} is VALID [2022-04-08 06:57:13,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {16873#true} assume true; {16873#true} is VALID [2022-04-08 06:57:13,622 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-08 06:57:13,622 INFO L272 TraceCheckUtils]: 0: Hoare triple {16873#true} call ULTIMATE.init(); {16873#true} is VALID [2022-04-08 06:57:13,626 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-08 06:57:13,626 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:57:13,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1655798245] [2022-04-08 06:57:13,626 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:57:13,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [884660872] [2022-04-08 06:57:13,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [884660872] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:57:13,626 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:57:13,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 20 [2022-04-08 06:57:13,627 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:57:13,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1698815376] [2022-04-08 06:57:13,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1698815376] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:57:13,627 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:57:13,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 06:57:13,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1142780949] [2022-04-08 06:57:13,627 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:57:13,627 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-08 06:57:13,627 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:57:13,628 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-08 06:57:13,699 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-08 06:57:13,699 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 06:57:13,699 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:57:13,699 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 06:57:13,700 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=282, Unknown=4, NotChecked=0, Total=380 [2022-04-08 06:57:13,700 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-08 06:57:15,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:57:15,808 INFO L93 Difference]: Finished difference Result 159 states and 183 transitions. [2022-04-08 06:57:15,808 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 06:57:15,808 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-08 06:57:15,808 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:57:15,809 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-08 06:57:15,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-08 06:57:15,811 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-08 06:57:15,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-08 06:57:15,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 126 transitions. [2022-04-08 06:57:15,971 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-08 06:57:15,973 INFO L225 Difference]: With dead ends: 159 [2022-04-08 06:57:15,974 INFO L226 Difference]: Without dead ends: 127 [2022-04-08 06:57:15,974 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 248 GetRequests, 226 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 20.3s TimeCoverageRelationStatistics Valid=98, Invalid=318, Unknown=4, NotChecked=0, Total=420 [2022-04-08 06:57:15,974 INFO L913 BasicCegarLoop]: 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-08 06:57:15,974 INFO L914 BasicCegarLoop]: 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-08 06:57:15,975 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-04-08 06:57:16,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 125. [2022-04-08 06:57:16,182 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:57:16,183 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-08 06:57:16,183 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-08 06:57:16,183 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-08 06:57:16,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:57:16,185 INFO L93 Difference]: Finished difference Result 127 states and 139 transitions. [2022-04-08 06:57:16,185 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 139 transitions. [2022-04-08 06:57:16,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:57:16,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:57:16,186 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-08 06:57:16,186 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-08 06:57:16,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:57:16,188 INFO L93 Difference]: Finished difference Result 127 states and 139 transitions. [2022-04-08 06:57:16,188 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 139 transitions. [2022-04-08 06:57:16,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:57:16,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:57:16,189 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:57:16,189 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:57:16,189 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-08 06:57:16,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 136 transitions. [2022-04-08 06:57:16,192 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 136 transitions. Word has length 124 [2022-04-08 06:57:16,192 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:57:16,192 INFO L478 AbstractCegarLoop]: Abstraction has 125 states and 136 transitions. [2022-04-08 06:57:16,192 INFO L479 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-08 06:57:16,192 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 136 transitions. [2022-04-08 06:57:16,420 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-08 06:57:16,420 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 136 transitions. [2022-04-08 06:57:16,421 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-08 06:57:16,421 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:57:16,421 INFO L499 BasicCegarLoop]: 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-08 06:57:16,447 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-08 06:57:16,622 WARN L460 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-08 06:57:16,622 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:57:16,622 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:57:16,622 INFO L85 PathProgramCache]: Analyzing trace with hash 1372391770, now seen corresponding path program 3 times [2022-04-08 06:57:16,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:57:16,622 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [518629418] [2022-04-08 06:57:20,720 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:57:20,721 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:57:20,721 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:57:20,721 INFO L85 PathProgramCache]: Analyzing trace with hash 1372391770, now seen corresponding path program 4 times [2022-04-08 06:57:20,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:57:20,721 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [444643130] [2022-04-08 06:57:20,721 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:57:20,721 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:57:20,735 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:57:20,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [960146959] [2022-04-08 06:57:20,735 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:57:20,735 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:57:20,735 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:57:20,740 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-08 06:57:20,741 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-08 06:57:20,808 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:57:20,808 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:57:20,810 INFO L263 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-08 06:57:20,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:57:20,840 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:57:21,735 INFO L272 TraceCheckUtils]: 0: Hoare triple {18460#true} call ULTIMATE.init(); {18460#true} is VALID [2022-04-08 06:57:21,735 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-08 06:57:21,735 INFO L290 TraceCheckUtils]: 2: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,736 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18460#true} {18460#true} #94#return; {18460#true} is VALID [2022-04-08 06:57:21,736 INFO L272 TraceCheckUtils]: 4: Hoare triple {18460#true} call #t~ret5 := main(); {18460#true} is VALID [2022-04-08 06:57:21,736 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-08 06:57:21,736 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-08 06:57:21,736 INFO L290 TraceCheckUtils]: 7: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,736 INFO L290 TraceCheckUtils]: 8: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,736 INFO L290 TraceCheckUtils]: 9: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,736 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18460#true} {18460#true} #78#return; {18460#true} is VALID [2022-04-08 06:57:21,737 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-08 06:57:21,737 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-08 06:57:21,737 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-08 06:57:21,737 INFO L290 TraceCheckUtils]: 14: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,737 INFO L290 TraceCheckUtils]: 15: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,737 INFO L290 TraceCheckUtils]: 16: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,738 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-08 06:57:21,738 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-08 06:57:21,738 INFO L290 TraceCheckUtils]: 19: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,738 INFO L290 TraceCheckUtils]: 20: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,738 INFO L290 TraceCheckUtils]: 21: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,739 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-08 06:57:21,739 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-08 06:57:21,739 INFO L290 TraceCheckUtils]: 24: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,739 INFO L290 TraceCheckUtils]: 25: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,739 INFO L290 TraceCheckUtils]: 26: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,739 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-08 06:57:21,740 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-08 06:57:21,740 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-08 06:57:21,740 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-08 06:57:21,740 INFO L290 TraceCheckUtils]: 31: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,740 INFO L290 TraceCheckUtils]: 32: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,740 INFO L290 TraceCheckUtils]: 33: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,741 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-08 06:57:21,741 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-08 06:57:21,741 INFO L290 TraceCheckUtils]: 36: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,741 INFO L290 TraceCheckUtils]: 37: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,741 INFO L290 TraceCheckUtils]: 38: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,741 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-08 06:57:21,742 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-08 06:57:21,742 INFO L290 TraceCheckUtils]: 41: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,742 INFO L290 TraceCheckUtils]: 42: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,742 INFO L290 TraceCheckUtils]: 43: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,742 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-08 06:57:21,743 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-08 06:57:21,743 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-08 06:57:21,743 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-08 06:57:21,743 INFO L290 TraceCheckUtils]: 48: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,743 INFO L290 TraceCheckUtils]: 49: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,743 INFO L290 TraceCheckUtils]: 50: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,744 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-08 06:57:21,744 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-08 06:57:21,744 INFO L290 TraceCheckUtils]: 53: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,744 INFO L290 TraceCheckUtils]: 54: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,744 INFO L290 TraceCheckUtils]: 55: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,744 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-08 06:57:21,745 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-08 06:57:21,745 INFO L290 TraceCheckUtils]: 58: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,745 INFO L290 TraceCheckUtils]: 59: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,745 INFO L290 TraceCheckUtils]: 60: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,745 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-08 06:57:21,746 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-08 06:57:21,746 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-08 06:57:21,746 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-08 06:57:21,746 INFO L290 TraceCheckUtils]: 65: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,746 INFO L290 TraceCheckUtils]: 66: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,746 INFO L290 TraceCheckUtils]: 67: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,747 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-08 06:57:21,747 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-08 06:57:21,747 INFO L290 TraceCheckUtils]: 70: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,747 INFO L290 TraceCheckUtils]: 71: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,747 INFO L290 TraceCheckUtils]: 72: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,747 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-08 06:57:21,747 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-08 06:57:21,747 INFO L290 TraceCheckUtils]: 75: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,747 INFO L290 TraceCheckUtils]: 76: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,748 INFO L290 TraceCheckUtils]: 77: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,748 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-08 06:57:21,748 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-08 06:57:21,749 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-08 06:57:21,749 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-08 06:57:21,749 INFO L290 TraceCheckUtils]: 82: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,749 INFO L290 TraceCheckUtils]: 83: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,749 INFO L290 TraceCheckUtils]: 84: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,749 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-08 06:57:21,749 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-08 06:57:21,750 INFO L290 TraceCheckUtils]: 87: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,750 INFO L290 TraceCheckUtils]: 88: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,750 INFO L290 TraceCheckUtils]: 89: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,750 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-08 06:57:21,751 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-08 06:57:21,751 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-08 06:57:21,751 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-08 06:57:21,751 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-08 06:57:21,752 INFO L290 TraceCheckUtils]: 95: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,752 INFO L290 TraceCheckUtils]: 96: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,752 INFO L290 TraceCheckUtils]: 97: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,752 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-08 06:57:21,752 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-08 06:57:21,752 INFO L290 TraceCheckUtils]: 100: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,752 INFO L290 TraceCheckUtils]: 101: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,752 INFO L290 TraceCheckUtils]: 102: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,753 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-08 06:57:21,753 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-08 06:57:21,754 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-08 06:57:21,754 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-08 06:57:21,754 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-08 06:57:21,754 INFO L290 TraceCheckUtils]: 108: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,754 INFO L290 TraceCheckUtils]: 109: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,754 INFO L290 TraceCheckUtils]: 110: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,755 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-08 06:57:21,755 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-08 06:57:21,755 INFO L290 TraceCheckUtils]: 113: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,755 INFO L290 TraceCheckUtils]: 114: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,755 INFO L290 TraceCheckUtils]: 115: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,756 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-08 06:57:21,756 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-08 06:57:21,757 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-08 06:57:21,758 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-08 06:57:21,758 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-08 06:57:21,758 INFO L290 TraceCheckUtils]: 121: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,758 INFO L290 TraceCheckUtils]: 122: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,758 INFO L290 TraceCheckUtils]: 123: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,758 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-08 06:57:21,759 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-08 06:57:21,759 INFO L290 TraceCheckUtils]: 126: Hoare triple {18460#true} ~cond := #in~cond; {18460#true} is VALID [2022-04-08 06:57:21,759 INFO L290 TraceCheckUtils]: 127: Hoare triple {18460#true} assume !(0 == ~cond); {18460#true} is VALID [2022-04-08 06:57:21,759 INFO L290 TraceCheckUtils]: 128: Hoare triple {18460#true} assume true; {18460#true} is VALID [2022-04-08 06:57:21,759 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-08 06:57:21,760 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-08 06:57:21,760 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-08 06:57:21,761 INFO L290 TraceCheckUtils]: 132: Hoare triple {18868#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:57:21,761 INFO L290 TraceCheckUtils]: 133: Hoare triple {18872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18461#false} is VALID [2022-04-08 06:57:21,761 INFO L290 TraceCheckUtils]: 134: Hoare triple {18461#false} assume !false; {18461#false} is VALID [2022-04-08 06:57:21,761 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-08 06:57:21,761 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:58:49,736 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:58:49,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [444643130] [2022-04-08 06:58:49,736 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:58:49,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [960146959] [2022-04-08 06:58:49,736 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [960146959] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 06:58:49,736 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 06:58:49,736 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2022-04-08 06:58:49,737 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:58:49,737 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [518629418] [2022-04-08 06:58:49,737 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [518629418] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:58:49,737 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:58:49,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 06:58:49,737 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1880860168] [2022-04-08 06:58:49,737 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:58:49,737 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-08 06:58:49,737 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:58:49,738 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-08 06:58:49,812 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-08 06:58:49,812 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 06:58:49,812 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:58:49,812 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 06:58:49,812 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=282, Unknown=0, NotChecked=0, Total=380 [2022-04-08 06:58:49,813 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-08 06:58:51,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:58:51,384 INFO L93 Difference]: Finished difference Result 149 states and 161 transitions. [2022-04-08 06:58:51,384 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 06:58:51,384 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-08 06:58:51,385 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:58:51,385 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-08 06:58:51,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-08 06:58:51,386 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-08 06:58:51,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-08 06:58:51,388 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 101 transitions. [2022-04-08 06:58:51,510 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-08 06:58:51,512 INFO L225 Difference]: With dead ends: 149 [2022-04-08 06:58:51,512 INFO L226 Difference]: Without dead ends: 121 [2022-04-08 06:58:51,513 INFO L912 BasicCegarLoop]: 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-08 06:58:51,513 INFO L913 BasicCegarLoop]: 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-08 06:58:51,513 INFO L914 BasicCegarLoop]: 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-08 06:58:51,514 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-08 06:58:51,761 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 121. [2022-04-08 06:58:51,762 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:58:51,762 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-08 06:58:51,762 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-08 06:58:51,762 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-08 06:58:51,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:58:51,765 INFO L93 Difference]: Finished difference Result 121 states and 125 transitions. [2022-04-08 06:58:51,765 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 125 transitions. [2022-04-08 06:58:51,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:58:51,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:58:51,765 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-08 06:58:51,766 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-08 06:58:51,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:58:51,779 INFO L93 Difference]: Finished difference Result 121 states and 125 transitions. [2022-04-08 06:58:51,779 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 125 transitions. [2022-04-08 06:58:51,779 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:58:51,779 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:58:51,780 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:58:51,780 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:58:51,781 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-08 06:58:51,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 125 transitions. [2022-04-08 06:58:51,784 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 125 transitions. Word has length 135 [2022-04-08 06:58:51,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:58:51,785 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 125 transitions. [2022-04-08 06:58:51,785 INFO L479 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-08 06:58:51,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 125 transitions. [2022-04-08 06:58:51,966 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-08 06:58:51,966 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 125 transitions. [2022-04-08 06:58:51,967 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 141 [2022-04-08 06:58:51,967 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:58:51,967 INFO L499 BasicCegarLoop]: 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-08 06:58:51,984 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-08 06:58:52,167 WARN L460 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-08 06:58:52,168 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:58:52,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:58:52,168 INFO L85 PathProgramCache]: Analyzing trace with hash -777337911, now seen corresponding path program 1 times [2022-04-08 06:58:52,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:58:52,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1422425354] [2022-04-08 06:58:56,263 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:58:56,263 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:58:56,263 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:58:56,263 INFO L85 PathProgramCache]: Analyzing trace with hash -777337911, now seen corresponding path program 2 times [2022-04-08 06:58:56,263 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:58:56,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2019249515] [2022-04-08 06:58:56,264 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:58:56,264 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:58:56,278 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:58:56,278 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [483332441] [2022-04-08 06:58:56,279 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:58:56,279 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:58:56,279 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:58:56,284 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-08 06:58:56,312 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-08 06:58:56,375 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:58:56,375 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:58:56,377 INFO L263 TraceCheckSpWp]: Trace formula consists of 312 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 06:58:56,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:58:56,399 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:58:57,098 INFO L272 TraceCheckUtils]: 0: Hoare triple {19764#true} call ULTIMATE.init(); {19764#true} is VALID [2022-04-08 06:58:57,098 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-08 06:58:57,098 INFO L290 TraceCheckUtils]: 2: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,098 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19764#true} {19764#true} #94#return; {19764#true} is VALID [2022-04-08 06:58:57,098 INFO L272 TraceCheckUtils]: 4: Hoare triple {19764#true} call #t~ret5 := main(); {19764#true} is VALID [2022-04-08 06:58:57,098 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-08 06:58:57,098 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-08 06:58:57,098 INFO L290 TraceCheckUtils]: 7: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,098 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19764#true} {19764#true} #78#return; {19764#true} is VALID [2022-04-08 06:58:57,099 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-08 06:58:57,099 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-08 06:58:57,099 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-08 06:58:57,099 INFO L290 TraceCheckUtils]: 14: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,099 INFO L290 TraceCheckUtils]: 15: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,099 INFO L290 TraceCheckUtils]: 16: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,100 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-08 06:58:57,100 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-08 06:58:57,100 INFO L290 TraceCheckUtils]: 19: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,100 INFO L290 TraceCheckUtils]: 20: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,100 INFO L290 TraceCheckUtils]: 21: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,100 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-08 06:58:57,100 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-08 06:58:57,101 INFO L290 TraceCheckUtils]: 24: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,101 INFO L290 TraceCheckUtils]: 25: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,101 INFO L290 TraceCheckUtils]: 26: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,101 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-08 06:58:57,101 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-08 06:58:57,102 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-08 06:58:57,102 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-08 06:58:57,102 INFO L290 TraceCheckUtils]: 31: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,102 INFO L290 TraceCheckUtils]: 32: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,102 INFO L290 TraceCheckUtils]: 33: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,102 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-08 06:58:57,102 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-08 06:58:57,103 INFO L290 TraceCheckUtils]: 36: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,103 INFO L290 TraceCheckUtils]: 37: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,103 INFO L290 TraceCheckUtils]: 38: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,103 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-08 06:58:57,103 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-08 06:58:57,103 INFO L290 TraceCheckUtils]: 41: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,103 INFO L290 TraceCheckUtils]: 42: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,103 INFO L290 TraceCheckUtils]: 43: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,104 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-08 06:58:57,104 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-08 06:58:57,104 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-08 06:58:57,104 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-08 06:58:57,105 INFO L290 TraceCheckUtils]: 48: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,105 INFO L290 TraceCheckUtils]: 49: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,105 INFO L290 TraceCheckUtils]: 50: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,105 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-08 06:58:57,105 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-08 06:58:57,105 INFO L290 TraceCheckUtils]: 53: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,105 INFO L290 TraceCheckUtils]: 54: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,105 INFO L290 TraceCheckUtils]: 55: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,106 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-08 06:58:57,106 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-08 06:58:57,106 INFO L290 TraceCheckUtils]: 58: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,106 INFO L290 TraceCheckUtils]: 59: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,106 INFO L290 TraceCheckUtils]: 60: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,106 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-08 06:58:57,107 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-08 06:58:57,108 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-08 06:58:57,108 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-08 06:58:57,108 INFO L290 TraceCheckUtils]: 65: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,108 INFO L290 TraceCheckUtils]: 66: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,108 INFO L290 TraceCheckUtils]: 67: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,108 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-08 06:58:57,108 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-08 06:58:57,108 INFO L290 TraceCheckUtils]: 70: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,108 INFO L290 TraceCheckUtils]: 71: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,108 INFO L290 TraceCheckUtils]: 72: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,109 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-08 06:58:57,109 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-08 06:58:57,109 INFO L290 TraceCheckUtils]: 75: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,109 INFO L290 TraceCheckUtils]: 76: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,109 INFO L290 TraceCheckUtils]: 77: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,110 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-08 06:58:57,110 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-08 06:58:57,110 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-08 06:58:57,110 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-08 06:58:57,110 INFO L290 TraceCheckUtils]: 82: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,110 INFO L290 TraceCheckUtils]: 83: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,111 INFO L290 TraceCheckUtils]: 84: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,111 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-08 06:58:57,111 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-08 06:58:57,111 INFO L290 TraceCheckUtils]: 87: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,111 INFO L290 TraceCheckUtils]: 88: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,111 INFO L290 TraceCheckUtils]: 89: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,112 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-08 06:58:57,112 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-08 06:58:57,113 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-08 06:58:57,114 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-08 06:58:57,114 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-08 06:58:57,114 INFO L290 TraceCheckUtils]: 95: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,114 INFO L290 TraceCheckUtils]: 96: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,114 INFO L290 TraceCheckUtils]: 97: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,114 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-08 06:58:57,114 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-08 06:58:57,114 INFO L290 TraceCheckUtils]: 100: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,114 INFO L290 TraceCheckUtils]: 101: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,115 INFO L290 TraceCheckUtils]: 102: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,115 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-08 06:58:57,116 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-08 06:58:57,116 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-08 06:58:57,116 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-08 06:58:57,116 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-08 06:58:57,116 INFO L290 TraceCheckUtils]: 108: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,116 INFO L290 TraceCheckUtils]: 109: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,116 INFO L290 TraceCheckUtils]: 110: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,117 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-08 06:58:57,117 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-08 06:58:57,117 INFO L290 TraceCheckUtils]: 113: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,117 INFO L290 TraceCheckUtils]: 114: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,117 INFO L290 TraceCheckUtils]: 115: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,118 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-08 06:58:57,118 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-08 06:58:57,119 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-08 06:58:57,119 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-08 06:58:57,119 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-08 06:58:57,119 INFO L290 TraceCheckUtils]: 121: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,120 INFO L290 TraceCheckUtils]: 122: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,120 INFO L290 TraceCheckUtils]: 123: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,120 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-08 06:58:57,120 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-08 06:58:57,120 INFO L290 TraceCheckUtils]: 126: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,120 INFO L290 TraceCheckUtils]: 127: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,120 INFO L290 TraceCheckUtils]: 128: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,121 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-08 06:58:57,121 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-08 06:58:57,121 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-08 06:58:57,121 INFO L290 TraceCheckUtils]: 132: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:57,121 INFO L290 TraceCheckUtils]: 133: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:57,121 INFO L290 TraceCheckUtils]: 134: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:57,122 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-08 06:58:57,122 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-08 06:58:57,123 INFO L290 TraceCheckUtils]: 137: Hoare triple {20186#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20190#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:58:57,123 INFO L290 TraceCheckUtils]: 138: Hoare triple {20190#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19765#false} is VALID [2022-04-08 06:58:57,123 INFO L290 TraceCheckUtils]: 139: Hoare triple {19765#false} assume !false; {19765#false} is VALID [2022-04-08 06:58:57,123 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-08 06:58:57,123 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:58:58,815 INFO L290 TraceCheckUtils]: 139: Hoare triple {19765#false} assume !false; {19765#false} is VALID [2022-04-08 06:58:58,815 INFO L290 TraceCheckUtils]: 138: Hoare triple {20190#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19765#false} is VALID [2022-04-08 06:58:58,816 INFO L290 TraceCheckUtils]: 137: Hoare triple {20186#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20190#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:58:58,816 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-08 06:58:58,816 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-08 06:58:58,817 INFO L290 TraceCheckUtils]: 134: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,817 INFO L290 TraceCheckUtils]: 133: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,817 INFO L290 TraceCheckUtils]: 132: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,817 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-08 06:58:58,817 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-08 06:58:58,818 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-08 06:58:58,818 INFO L290 TraceCheckUtils]: 128: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,818 INFO L290 TraceCheckUtils]: 127: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,818 INFO L290 TraceCheckUtils]: 126: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,818 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-08 06:58:58,818 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-08 06:58:58,818 INFO L290 TraceCheckUtils]: 123: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,818 INFO L290 TraceCheckUtils]: 122: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,818 INFO L290 TraceCheckUtils]: 121: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,819 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-08 06:58:58,819 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-08 06:58:58,820 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-08 06:58:58,822 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-08 06:58:58,823 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-08 06:58:58,823 INFO L290 TraceCheckUtils]: 115: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,823 INFO L290 TraceCheckUtils]: 114: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,823 INFO L290 TraceCheckUtils]: 113: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,823 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-08 06:58:58,823 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-08 06:58:58,823 INFO L290 TraceCheckUtils]: 110: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,823 INFO L290 TraceCheckUtils]: 109: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,824 INFO L290 TraceCheckUtils]: 108: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,824 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-08 06:58:58,825 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-08 06:58:58,826 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-08 06:58:58,829 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-08 06:58:58,829 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-08 06:58:58,830 INFO L290 TraceCheckUtils]: 102: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,830 INFO L290 TraceCheckUtils]: 101: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,830 INFO L290 TraceCheckUtils]: 100: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,830 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-08 06:58:58,830 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-08 06:58:58,830 INFO L290 TraceCheckUtils]: 97: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,831 INFO L290 TraceCheckUtils]: 96: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,831 INFO L290 TraceCheckUtils]: 95: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,831 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-08 06:58:58,832 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-08 06:58:58,833 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-08 06:58:58,835 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-08 06:58:58,835 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-08 06:58:58,835 INFO L290 TraceCheckUtils]: 89: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,836 INFO L290 TraceCheckUtils]: 88: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,836 INFO L290 TraceCheckUtils]: 87: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,836 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-08 06:58:58,836 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-08 06:58:58,836 INFO L290 TraceCheckUtils]: 84: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,836 INFO L290 TraceCheckUtils]: 83: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,836 INFO L290 TraceCheckUtils]: 82: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,836 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-08 06:58:58,837 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-08 06:58:58,837 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-08 06:58:58,838 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-08 06:58:58,838 INFO L290 TraceCheckUtils]: 77: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,838 INFO L290 TraceCheckUtils]: 76: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,838 INFO L290 TraceCheckUtils]: 75: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,838 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-08 06:58:58,839 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-08 06:58:58,839 INFO L290 TraceCheckUtils]: 72: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,839 INFO L290 TraceCheckUtils]: 71: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,839 INFO L290 TraceCheckUtils]: 70: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,839 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-08 06:58:58,840 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-08 06:58:58,840 INFO L290 TraceCheckUtils]: 67: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,840 INFO L290 TraceCheckUtils]: 66: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,840 INFO L290 TraceCheckUtils]: 65: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,840 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-08 06:58:58,841 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-08 06:58:58,842 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-08 06:58:58,843 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-08 06:58:58,843 INFO L290 TraceCheckUtils]: 60: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,843 INFO L290 TraceCheckUtils]: 59: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,843 INFO L290 TraceCheckUtils]: 58: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,843 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-08 06:58:58,844 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-08 06:58:58,844 INFO L290 TraceCheckUtils]: 55: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,845 INFO L290 TraceCheckUtils]: 54: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,845 INFO L290 TraceCheckUtils]: 53: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,845 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-08 06:58:58,845 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-08 06:58:58,846 INFO L290 TraceCheckUtils]: 50: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,846 INFO L290 TraceCheckUtils]: 49: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,846 INFO L290 TraceCheckUtils]: 48: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,847 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-08 06:58:58,847 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-08 06:58:58,849 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-08 06:58:58,849 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-08 06:58:58,849 INFO L290 TraceCheckUtils]: 43: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,850 INFO L290 TraceCheckUtils]: 42: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,850 INFO L290 TraceCheckUtils]: 41: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,850 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-08 06:58:58,851 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-08 06:58:58,851 INFO L290 TraceCheckUtils]: 38: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,851 INFO L290 TraceCheckUtils]: 37: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,852 INFO L290 TraceCheckUtils]: 36: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,852 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-08 06:58:58,852 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-08 06:58:58,852 INFO L290 TraceCheckUtils]: 33: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,852 INFO L290 TraceCheckUtils]: 32: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,852 INFO L290 TraceCheckUtils]: 31: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,852 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-08 06:58:58,853 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-08 06:58:58,855 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-08 06:58:58,855 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-08 06:58:58,855 INFO L290 TraceCheckUtils]: 26: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,855 INFO L290 TraceCheckUtils]: 25: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,855 INFO L290 TraceCheckUtils]: 24: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,855 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-08 06:58:58,856 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-08 06:58:58,856 INFO L290 TraceCheckUtils]: 21: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,856 INFO L290 TraceCheckUtils]: 20: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,856 INFO L290 TraceCheckUtils]: 19: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,856 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-08 06:58:58,856 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-08 06:58:58,857 INFO L290 TraceCheckUtils]: 16: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,857 INFO L290 TraceCheckUtils]: 15: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,857 INFO L290 TraceCheckUtils]: 14: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,857 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-08 06:58:58,858 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-08 06:58:58,858 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-08 06:58:58,858 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19764#true} {19764#true} #78#return; {19764#true} is VALID [2022-04-08 06:58:58,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,858 INFO L290 TraceCheckUtils]: 8: Hoare triple {19764#true} assume !(0 == ~cond); {19764#true} is VALID [2022-04-08 06:58:58,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {19764#true} ~cond := #in~cond; {19764#true} is VALID [2022-04-08 06:58:58,859 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-08 06:58:58,859 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-08 06:58:58,859 INFO L272 TraceCheckUtils]: 4: Hoare triple {19764#true} call #t~ret5 := main(); {19764#true} is VALID [2022-04-08 06:58:58,859 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19764#true} {19764#true} #94#return; {19764#true} is VALID [2022-04-08 06:58:58,859 INFO L290 TraceCheckUtils]: 2: Hoare triple {19764#true} assume true; {19764#true} is VALID [2022-04-08 06:58:58,859 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-08 06:58:58,859 INFO L272 TraceCheckUtils]: 0: Hoare triple {19764#true} call ULTIMATE.init(); {19764#true} is VALID [2022-04-08 06:58:58,859 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-08 06:58:58,860 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:58:58,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2019249515] [2022-04-08 06:58:58,860 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:58:58,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [483332441] [2022-04-08 06:58:58,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [483332441] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:58:58,860 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:58:58,860 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 23 [2022-04-08 06:58:58,860 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:58:58,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1422425354] [2022-04-08 06:58:58,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1422425354] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:58:58,860 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:58:58,860 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 06:58:58,860 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1383375952] [2022-04-08 06:58:58,860 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:58:58,861 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-08 06:58:58,861 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:58:58,861 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-08 06:58:58,934 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-08 06:58:58,935 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 06:58:58,935 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:58:58,935 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 06:58:58,935 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=413, Unknown=0, NotChecked=0, Total=506 [2022-04-08 06:58:58,935 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-08 06:59:00,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:59:00,128 INFO L93 Difference]: Finished difference Result 121 states and 125 transitions. [2022-04-08 06:59:00,128 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 06:59:00,129 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-08 06:59:00,129 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:59:00,129 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-08 06:59:00,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 80 transitions. [2022-04-08 06:59:00,131 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-08 06:59:00,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 80 transitions. [2022-04-08 06:59:00,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 80 transitions. [2022-04-08 06:59:00,224 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-08 06:59:00,225 INFO L225 Difference]: With dead ends: 121 [2022-04-08 06:59:00,225 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 06:59:00,225 INFO L912 BasicCegarLoop]: 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-08 06:59:00,226 INFO L913 BasicCegarLoop]: 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-08 06:59:00,226 INFO L914 BasicCegarLoop]: 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-08 06:59:00,226 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 06:59:00,226 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 06:59:00,226 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:59:00,226 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-08 06:59:00,227 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-08 06:59:00,227 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-08 06:59:00,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:59:00,227 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 06:59:00,227 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 06:59:00,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:59:00,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:59:00,227 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-08 06:59:00,227 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-08 06:59:00,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:59:00,227 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 06:59:00,227 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 06:59:00,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:59:00,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:59:00,227 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:59:00,228 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:59:00,228 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-08 06:59:00,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 06:59:00,228 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 140 [2022-04-08 06:59:00,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:59:00,228 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 06:59:00,228 INFO L479 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-08 06:59:00,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 06:59:00,228 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-08 06:59:00,228 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 06:59:00,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:59:00,231 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 06:59:00,257 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-08 06:59:00,431 WARN L460 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-08 06:59:00,434 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 06:59:06,930 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-08 06:59:06,930 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-08 06:59:06,931 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-08 06:59:06,931 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-08 06:59:06,931 INFO L878 garLoopResultBuilder]: At program point L12(line 12) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-08 06:59:06,931 INFO L878 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-08 06:59:06,931 INFO L878 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-08 06:59:06,931 INFO L878 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-08 06:59:06,931 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 22 61) the Hoare annotation is: true [2022-04-08 06:59:06,931 INFO L878 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-08 06:59:06,931 INFO L878 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-08 06:59:06,931 INFO L878 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-08 06:59:06,931 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 22 61) the Hoare annotation is: true [2022-04-08 06:59:06,932 INFO L878 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-08 06:59:06,932 INFO L878 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-08 06:59:06,932 INFO L878 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-08 06:59:06,932 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 22 61) the Hoare annotation is: true [2022-04-08 06:59:06,932 INFO L885 garLoopResultBuilder]: At program point L59(line 59) the Hoare annotation is: true [2022-04-08 06:59:06,932 INFO L885 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-08 06:59:06,932 INFO L878 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (and (<= 0 main_~A~0) (<= main_~A~0 5)) [2022-04-08 06:59:06,932 INFO L878 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-08 06:59:06,932 INFO L878 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-08 06:59:06,932 INFO L878 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-08 06:59:06,932 INFO L878 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-08 06:59:06,932 INFO L878 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-08 06:59:06,933 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 06:59:06,933 INFO L878 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-08 06:59:06,933 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 06:59:06,933 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 06:59:06,933 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 06:59:06,933 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 06:59:06,933 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 06:59:06,933 INFO L878 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 06:59:06,933 INFO L878 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-08 06:59:06,933 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-08 06:59:06,933 INFO L878 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-08 06:59:06,933 INFO L878 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-08 06:59:06,933 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 06:59:06,935 INFO L719 BasicCegarLoop]: Path program histogram: [14, 6, 4, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-08 06:59:06,936 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 06:59:06,940 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 06:59:06,950 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 06:59:07,054 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-08 06:59:07,064 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 06:59:07 BoogieIcfgContainer [2022-04-08 06:59:07,064 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 06:59:07,065 INFO L158 Benchmark]: Toolchain (without parser) took 496368.05ms. Allocated memory was 177.2MB in the beginning and 225.4MB in the end (delta: 48.2MB). Free memory was 125.6MB in the beginning and 104.5MB in the end (delta: 21.1MB). Peak memory consumption was 113.3MB. Max. memory is 8.0GB. [2022-04-08 06:59:07,065 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 177.2MB. Free memory is still 142.0MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 06:59:07,065 INFO L158 Benchmark]: CACSL2BoogieTranslator took 211.86ms. Allocated memory is still 177.2MB. Free memory was 125.4MB in the beginning and 152.0MB in the end (delta: -26.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-08 06:59:07,065 INFO L158 Benchmark]: Boogie Preprocessor took 23.46ms. Allocated memory is still 177.2MB. Free memory was 152.0MB in the beginning and 150.5MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-08 06:59:07,066 INFO L158 Benchmark]: RCFGBuilder took 242.61ms. Allocated memory is still 177.2MB. Free memory was 150.3MB in the beginning and 139.0MB in the end (delta: 11.2MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. [2022-04-08 06:59:07,066 INFO L158 Benchmark]: TraceAbstraction took 495885.76ms. Allocated memory was 177.2MB in the beginning and 225.4MB in the end (delta: 48.2MB). Free memory was 138.5MB in the beginning and 104.5MB in the end (delta: 34.0MB). Peak memory consumption was 126.1MB. Max. memory is 8.0GB. [2022-04-08 06:59:07,067 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 177.2MB. Free memory is still 142.0MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 211.86ms. Allocated memory is still 177.2MB. Free memory was 125.4MB in the beginning and 152.0MB in the end (delta: -26.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 23.46ms. Allocated memory is still 177.2MB. Free memory was 152.0MB in the beginning and 150.5MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 242.61ms. Allocated memory is still 177.2MB. Free memory was 150.3MB in the beginning and 139.0MB in the end (delta: 11.2MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. * TraceAbstraction took 495885.76ms. Allocated memory was 177.2MB in the beginning and 225.4MB in the end (delta: 48.2MB). Free memory was 138.5MB in the beginning and 104.5MB in the end (delta: 34.0MB). Peak memory consumption was 126.1MB. 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: 495.7s, OverallIterations: 20, TraceHistogramMax: 22, PathProgramHistogramMax: 14, EmptinessCheckTime: 0.0s, AutomataDifference: 20.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 6.5s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 389 SdHoareTripleChecker+Valid, 5.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 300 mSDsluCounter, 3557 SdHoareTripleChecker+Invalid, 5.0s 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, 0 IntricatePredicates, 0 DeprecatedPredicates, 384 ImplicationChecksByTransitivity, 42.7s 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.2s HoareSimplificationTime, 35 FomulaSimplificationsInter, 6259 FormulaSimplificationTreeSizeReductionInter, 5.2s 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-08 06:59:07,236 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...