/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 06:17:41,959 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 06:17:41,960 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 06:17:42,006 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 06:17:42,006 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 06:17:42,007 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 06:17:42,007 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 06:17:42,008 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 06:17:42,009 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 06:17:42,010 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 06:17:42,010 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 06:17:42,011 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 06:17:42,011 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 06:17:42,012 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 06:17:42,012 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 06:17:42,013 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 06:17:42,013 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 06:17:42,014 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 06:17:42,014 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 06:17:42,015 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 06:17:42,016 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 06:17:42,020 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 06:17:42,020 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 06:17:42,021 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 06:17:42,021 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 06:17:42,023 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 06:17:42,023 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 06:17:42,023 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 06:17:42,023 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 06:17:42,024 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 06:17:42,024 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 06:17:42,024 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 06:17:42,025 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 06:17:42,025 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 06:17:42,026 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 06:17:42,026 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 06:17:42,026 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 06:17:42,027 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 06:17:42,027 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 06:17:42,027 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 06:17:42,028 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 06:17:42,031 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 06:17:42,031 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 06:17:42,037 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 06:17:42,037 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 06:17:42,038 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 06:17:42,038 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 06:17:42,038 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 06:17:42,038 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 06:17:42,038 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 06:17:42,038 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 06:17:42,038 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 06:17:42,039 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 06:17:42,039 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 06:17:42,039 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 06:17:42,039 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 06:17:42,039 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 06:17:42,039 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 06:17:42,039 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 06:17:42,039 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 06:17:42,039 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 06:17:42,040 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 06:17:42,040 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 06:17:42,040 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 06:17:42,040 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 06:17:42,040 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 06:17:42,040 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 06:17:42,040 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 06:17:42,040 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 06:17:42,232 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 06:17:42,248 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 06:17:42,250 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 06:17:42,251 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 06:17:42,254 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 06:17:42,255 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound20.c [2022-04-28 06:17:42,307 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f1a846cfd/e5714a7d00c244de8fcf505601b54a82/FLAGcfa251de1 [2022-04-28 06:17:42,664 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 06:17:42,665 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound20.c [2022-04-28 06:17:42,669 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f1a846cfd/e5714a7d00c244de8fcf505601b54a82/FLAGcfa251de1 [2022-04-28 06:17:42,682 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f1a846cfd/e5714a7d00c244de8fcf505601b54a82 [2022-04-28 06:17:42,688 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 06:17:42,690 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 06:17:42,692 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 06:17:42,692 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 06:17:42,695 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 06:17:42,696 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 06:17:42" (1/1) ... [2022-04-28 06:17:42,697 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1df1e933 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:17:42, skipping insertion in model container [2022-04-28 06:17:42,697 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 06:17:42" (1/1) ... [2022-04-28 06:17:42,702 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 06:17:42,712 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 06:17:42,860 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound20.c[538,551] [2022-04-28 06:17:42,885 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 06:17:42,890 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 06:17:42,900 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound20.c[538,551] [2022-04-28 06:17:42,908 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 06:17:42,918 INFO L208 MainTranslator]: Completed translation [2022-04-28 06:17:42,918 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:17:42 WrapperNode [2022-04-28 06:17:42,918 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 06:17:42,919 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 06:17:42,919 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 06:17:42,919 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 06:17:42,926 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:17:42" (1/1) ... [2022-04-28 06:17:42,926 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:17:42" (1/1) ... [2022-04-28 06:17:42,932 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:17:42" (1/1) ... [2022-04-28 06:17:42,932 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:17:42" (1/1) ... [2022-04-28 06:17:42,937 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:17:42" (1/1) ... [2022-04-28 06:17:42,940 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:17:42" (1/1) ... [2022-04-28 06:17:42,945 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:17:42" (1/1) ... [2022-04-28 06:17:42,947 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 06:17:42,947 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 06:17:42,948 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 06:17:42,948 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 06:17:42,948 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:17:42" (1/1) ... [2022-04-28 06:17:42,953 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 06:17:42,959 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:17:42,968 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 06:17:42,986 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 06:17:43,002 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 06:17:43,002 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 06:17:43,002 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 06:17:43,002 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 06:17:43,002 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 06:17:43,002 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 06:17:43,002 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 06:17:43,002 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 06:17:43,003 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 06:17:43,003 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 06:17:43,003 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-28 06:17:43,004 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 06:17:43,004 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 06:17:43,004 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 06:17:43,004 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 06:17:43,004 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 06:17:43,004 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 06:17:43,005 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 06:17:43,005 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 06:17:43,005 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 06:17:43,050 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 06:17:43,052 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 06:17:43,192 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 06:17:43,197 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 06:17:43,197 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 06:17:43,198 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 06:17:43 BoogieIcfgContainer [2022-04-28 06:17:43,198 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 06:17:43,199 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 06:17:43,199 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 06:17:43,201 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 06:17:43,201 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 06:17:42" (1/3) ... [2022-04-28 06:17:43,202 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@322c843b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 06:17:43, skipping insertion in model container [2022-04-28 06:17:43,202 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:17:42" (2/3) ... [2022-04-28 06:17:43,202 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@322c843b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 06:17:43, skipping insertion in model container [2022-04-28 06:17:43,202 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 06:17:43" (3/3) ... [2022-04-28 06:17:43,203 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound20.c [2022-04-28 06:17:43,211 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 06:17:43,211 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 06:17:43,266 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 06:17:43,273 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@797fb309, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@7a7efe24 [2022-04-28 06:17:43,273 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 06:17:43,280 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 06:17:43,285 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 06:17:43,285 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:43,286 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:17:43,286 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:43,294 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:43,294 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-28 06:17:43,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:43,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [453574800] [2022-04-28 06:17:43,310 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:17:43,311 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-28 06:17:43,313 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:43,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [305223208] [2022-04-28 06:17:43,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:43,314 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:43,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:43,484 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:17:43,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:43,502 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-28 06:17:43,503 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-28 06:17:43,503 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-28 06:17:43,503 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:17:43,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:43,510 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 06:17:43,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 06:17:43,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 06:17:43,511 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-28 06:17:43,511 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 06:17:43,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:43,520 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 06:17:43,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 06:17:43,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 06:17:43,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-28 06:17:43,521 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 06:17:43,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:43,526 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 06:17:43,527 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 06:17:43,527 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 06:17:43,527 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-28 06:17:43,528 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:17:43,528 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-28 06:17:43,528 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-28 06:17:43,528 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-28 06:17:43,529 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-28 06:17:43,529 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-28 06:17:43,529 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {41#true} is VALID [2022-04-28 06:17:43,529 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 06:17:43,529 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 06:17:43,530 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 06:17:43,530 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-28 06:17:43,530 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-28 06:17:43,530 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {41#true} is VALID [2022-04-28 06:17:43,530 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 06:17:43,531 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 06:17:43,531 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 06:17:43,531 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-28 06:17:43,531 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-28 06:17:43,531 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 06:17:43,532 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 06:17:43,532 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 06:17:43,532 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-28 06:17:43,532 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-28 06:17:43,532 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-28 06:17:43,533 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-28 06:17:43,533 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-28 06:17:43,533 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-28 06:17:43,533 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-28 06:17:43,533 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 06:17:43,534 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:17:43,534 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [305223208] [2022-04-28 06:17:43,534 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [305223208] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:43,535 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:43,535 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 06:17:43,536 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:17:43,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [453574800] [2022-04-28 06:17:43,537 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [453574800] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:43,537 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:43,537 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 06:17:43,537 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1900824857] [2022-04-28 06:17:43,537 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:17:43,540 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 06:17:43,541 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:17:43,543 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:17:43,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:43,579 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 06:17:43,579 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:43,593 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 06:17:43,594 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 06:17:43,596 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:17:43,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:43,778 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-28 06:17:43,778 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 06:17:43,778 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 06:17:43,778 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:17:43,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:17:43,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-28 06:17:43,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:17:43,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-28 06:17:43,806 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-28 06:17:43,910 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:43,916 INFO L225 Difference]: With dead ends: 69 [2022-04-28 06:17:43,916 INFO L226 Difference]: Without dead ends: 33 [2022-04-28 06:17:43,918 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 06:17:43,920 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:17:43,921 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:17:43,931 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-28 06:17:43,941 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-28 06:17:43,942 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:17:43,942 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:17:43,943 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:17:43,943 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:17:43,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:43,946 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 06:17:43,946 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 06:17:43,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:43,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:43,948 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-28 06:17:43,948 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-28 06:17:43,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:43,956 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 06:17:43,956 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 06:17:43,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:43,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:43,957 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:17:43,957 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:17:43,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:17:43,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-28 06:17:43,960 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-28 06:17:43,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:17:43,960 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-28 06:17:43,961 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:17:43,961 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-28 06:17:44,001 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:44,001 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 06:17:44,002 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 06:17:44,002 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:44,002 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:17:44,002 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 06:17:44,002 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:44,003 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:44,003 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-28 06:17:44,003 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:44,003 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1639252117] [2022-04-28 06:17:44,004 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:17:44,004 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-28 06:17:44,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:44,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1029788105] [2022-04-28 06:17:44,004 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:44,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:44,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:44,089 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:17:44,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:44,098 INFO L290 TraceCheckUtils]: 0: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-28 06:17:44,098 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:17:44,098 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-28 06:17:44,098 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:17:44,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:44,109 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 06:17:44,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 06:17:44,115 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:17:44,115 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-28 06:17:44,115 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 06:17:44,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:44,120 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 06:17:44,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 06:17:44,121 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:17:44,121 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-28 06:17:44,121 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 06:17:44,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:44,125 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 06:17:44,125 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 06:17:44,126 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:17:44,126 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-28 06:17:44,126 INFO L272 TraceCheckUtils]: 0: Hoare triple {331#true} call ULTIMATE.init(); {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:17:44,127 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-28 06:17:44,127 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:17:44,127 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-28 06:17:44,127 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-28 06:17:44,127 INFO L290 TraceCheckUtils]: 5: Hoare triple {331#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {331#true} is VALID [2022-04-28 06:17:44,127 INFO L272 TraceCheckUtils]: 6: Hoare triple {331#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {331#true} is VALID [2022-04-28 06:17:44,127 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 06:17:44,128 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 06:17:44,128 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:17:44,128 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-28 06:17:44,128 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-28 06:17:44,128 INFO L272 TraceCheckUtils]: 12: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {331#true} is VALID [2022-04-28 06:17:44,128 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 06:17:44,129 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 06:17:44,129 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:17:44,129 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-28 06:17:44,129 INFO L272 TraceCheckUtils]: 17: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {331#true} is VALID [2022-04-28 06:17:44,129 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 06:17:44,129 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 06:17:44,130 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:17:44,130 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-28 06:17:44,140 INFO L290 TraceCheckUtils]: 22: Hoare triple {331#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {348#(= main_~q~0 0)} is VALID [2022-04-28 06:17:44,141 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-28 06:17:44,142 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {349#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:17:44,143 INFO L290 TraceCheckUtils]: 25: Hoare triple {349#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {350#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:17:44,144 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-28 06:17:44,144 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-28 06:17:44,144 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 06:17:44,144 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:17:44,144 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1029788105] [2022-04-28 06:17:44,145 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1029788105] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:44,145 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:44,145 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:17:44,145 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:17:44,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1639252117] [2022-04-28 06:17:44,146 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1639252117] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:44,146 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:44,146 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:17:44,146 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1999763725] [2022-04-28 06:17:44,146 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:17:44,147 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 06:17:44,147 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:17:44,147 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 06:17:44,165 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:44,165 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:17:44,165 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:44,166 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:17:44,166 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:17:44,166 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 06:17:44,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:44,538 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-28 06:17:44,541 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 06:17:44,541 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 06:17:44,545 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:17:44,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 06:17:44,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 06:17:44,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 06:17:44,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 06:17:44,549 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-28 06:17:44,606 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:44,607 INFO L225 Difference]: With dead ends: 46 [2022-04-28 06:17:44,607 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 06:17:44,608 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:17:44,608 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:17:44,609 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:17:44,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 06:17:44,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-28 06:17:44,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:17:44,622 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:17:44,623 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:17:44,625 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:17:44,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:44,629 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 06:17:44,629 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 06:17:44,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:44,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:44,630 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-28 06:17:44,630 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-28 06:17:44,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:44,633 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 06:17:44,633 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 06:17:44,633 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:44,633 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:44,634 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:17:44,634 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:17:44,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:17:44,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-28 06:17:44,636 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-28 06:17:44,636 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:17:44,636 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-28 06:17:44,636 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 06:17:44,636 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-28 06:17:44,672 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:44,672 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-28 06:17:44,673 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 06:17:44,673 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:44,673 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:17:44,673 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 06:17:44,673 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:44,673 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:44,673 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-28 06:17:44,673 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:44,674 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1395281680] [2022-04-28 06:17:44,674 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:17:44,674 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-28 06:17:44,674 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:44,674 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1759452742] [2022-04-28 06:17:44,674 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:44,675 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:44,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:44,764 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:17:44,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:44,769 INFO L290 TraceCheckUtils]: 0: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-28 06:17:44,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:17:44,769 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-28 06:17:44,769 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:17:44,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:44,772 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:17:44,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:17:44,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:17:44,787 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-28 06:17:44,788 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 06:17:44,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:44,793 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:17:44,793 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:17:44,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:17:44,793 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-28 06:17:44,793 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 06:17:44,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:44,799 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:17:44,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:17:44,799 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:17:44,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-28 06:17:44,800 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 06:17:44,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:44,804 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:17:44,805 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:17:44,805 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:17:44,805 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:17:44,806 INFO L272 TraceCheckUtils]: 0: Hoare triple {616#true} call ULTIMATE.init(); {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:17:44,806 INFO L290 TraceCheckUtils]: 1: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-28 06:17:44,806 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:17:44,806 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-28 06:17:44,806 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-28 06:17:44,807 INFO L290 TraceCheckUtils]: 5: Hoare triple {616#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {616#true} is VALID [2022-04-28 06:17:44,807 INFO L272 TraceCheckUtils]: 6: Hoare triple {616#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {616#true} is VALID [2022-04-28 06:17:44,807 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:17:44,807 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:17:44,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:17:44,807 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-28 06:17:44,807 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-28 06:17:44,807 INFO L272 TraceCheckUtils]: 12: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {616#true} is VALID [2022-04-28 06:17:44,808 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:17:44,808 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:17:44,808 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:17:44,808 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-28 06:17:44,808 INFO L272 TraceCheckUtils]: 17: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {616#true} is VALID [2022-04-28 06:17:44,808 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:17:44,808 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:17:44,808 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:17:44,808 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-28 06:17:44,809 INFO L290 TraceCheckUtils]: 22: Hoare triple {616#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:17:44,810 INFO L290 TraceCheckUtils]: 23: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:17:44,810 INFO L272 TraceCheckUtils]: 24: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {616#true} is VALID [2022-04-28 06:17:44,810 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:17:44,810 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:17:44,810 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:17:44,811 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:17:44,811 INFO L272 TraceCheckUtils]: 29: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:17:44,812 INFO L290 TraceCheckUtils]: 30: Hoare triple {638#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {639#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:17:44,812 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-28 06:17:44,812 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-28 06:17:44,812 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 06:17:44,813 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:17:44,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1759452742] [2022-04-28 06:17:44,813 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1759452742] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:44,813 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:44,813 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:17:44,813 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:17:44,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1395281680] [2022-04-28 06:17:44,813 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1395281680] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:44,813 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:44,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:17:44,814 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [658411833] [2022-04-28 06:17:44,814 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:17:44,814 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 06:17:44,814 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:17:44,814 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:17:44,832 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:44,832 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:17:44,833 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:44,833 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:17:44,833 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:17:44,833 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:17:45,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:45,223 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-28 06:17:45,223 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 06:17:45,223 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 06:17:45,223 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:17:45,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:17:45,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 06:17:45,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:17:45,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 06:17:45,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-28 06:17:45,279 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:45,280 INFO L225 Difference]: With dead ends: 50 [2022-04-28 06:17:45,281 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 06:17:45,281 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:17:45,282 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:17:45,282 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:17:45,283 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 06:17:45,290 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-28 06:17:45,290 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:17:45,290 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:17:45,290 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:17:45,291 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:17:45,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:45,293 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-28 06:17:45,293 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-28 06:17:45,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:45,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:45,302 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-28 06:17:45,302 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-28 06:17:45,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:45,305 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-28 06:17:45,305 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-28 06:17:45,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:45,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:45,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:17:45,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:17:45,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:17:45,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-28 06:17:45,310 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-28 06:17:45,310 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:17:45,310 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-28 06:17:45,311 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:17:45,311 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-28 06:17:45,346 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:45,346 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-28 06:17:45,347 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 06:17:45,347 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:45,347 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:17:45,347 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 06:17:45,350 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:45,350 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:45,350 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-28 06:17:45,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:45,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1327690129] [2022-04-28 06:17:45,351 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:17:45,351 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-28 06:17:45,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:45,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [648460038] [2022-04-28 06:17:45,352 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:45,352 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:45,363 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:17:45,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [27616974] [2022-04-28 06:17:45,364 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:17:45,364 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:45,364 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:17:45,372 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:17:45,373 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 06:17:45,423 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:17:45,423 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:17:45,425 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:17:45,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:45,434 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:17:45,641 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-28 06:17:45,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {929#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {929#true} is VALID [2022-04-28 06:17:45,642 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 06:17:45,642 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-28 06:17:45,642 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-28 06:17:45,642 INFO L290 TraceCheckUtils]: 5: Hoare triple {929#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {929#true} is VALID [2022-04-28 06:17:45,642 INFO L272 TraceCheckUtils]: 6: Hoare triple {929#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {929#true} is VALID [2022-04-28 06:17:45,642 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 06:17:45,642 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 06:17:45,642 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 06:17:45,642 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-28 06:17:45,643 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-28 06:17:45,643 INFO L272 TraceCheckUtils]: 12: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {929#true} is VALID [2022-04-28 06:17:45,643 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 06:17:45,643 INFO L290 TraceCheckUtils]: 14: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 06:17:45,643 INFO L290 TraceCheckUtils]: 15: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 06:17:45,643 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {929#true} {929#true} #83#return; {929#true} is VALID [2022-04-28 06:17:45,643 INFO L272 TraceCheckUtils]: 17: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {929#true} is VALID [2022-04-28 06:17:45,643 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 06:17:45,643 INFO L290 TraceCheckUtils]: 19: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 06:17:45,644 INFO L290 TraceCheckUtils]: 20: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 06:17:45,644 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {929#true} {929#true} #85#return; {929#true} is VALID [2022-04-28 06:17:45,646 INFO L290 TraceCheckUtils]: 22: Hoare triple {929#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:45,647 INFO L290 TraceCheckUtils]: 23: Hoare triple {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:45,647 INFO L272 TraceCheckUtils]: 24: Hoare triple {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {929#true} is VALID [2022-04-28 06:17:45,647 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 06:17:45,647 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 06:17:45,647 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 06:17:45,648 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {929#true} {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:45,648 INFO L272 TraceCheckUtils]: 29: Hoare triple {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {929#true} is VALID [2022-04-28 06:17:45,648 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 06:17:45,648 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 06:17:45,648 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 06:17:45,653 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {929#true} {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:45,653 INFO L272 TraceCheckUtils]: 34: Hoare triple {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1037#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:17:45,654 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1041#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:45,654 INFO L290 TraceCheckUtils]: 36: Hoare triple {1041#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-28 06:17:45,654 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-28 06:17:45,655 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 06:17:45,655 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:17:45,655 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:17:45,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [648460038] [2022-04-28 06:17:45,655 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:17:45,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [27616974] [2022-04-28 06:17:45,655 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [27616974] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:45,655 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:45,655 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:17:45,656 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:17:45,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1327690129] [2022-04-28 06:17:45,656 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1327690129] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:45,656 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:45,656 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:17:45,656 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [862656860] [2022-04-28 06:17:45,656 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:17:45,657 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-28 06:17:45,657 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:17:45,657 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 06:17:45,681 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:45,681 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:17:45,681 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:45,682 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:17:45,682 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:17:45,682 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 06:17:45,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:45,873 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-28 06:17:45,873 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:17:45,873 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-28 06:17:45,874 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:17:45,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 06:17:45,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-28 06:17:45,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 06:17:45,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-28 06:17:45,879 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-04-28 06:17:45,940 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:45,941 INFO L225 Difference]: With dead ends: 69 [2022-04-28 06:17:45,942 INFO L226 Difference]: Without dead ends: 55 [2022-04-28 06:17:45,942 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:17:45,943 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 145 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:17:45,943 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 145 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:17:45,943 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-28 06:17:45,969 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-28 06:17:45,969 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:17:45,971 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 06:17:45,971 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 06:17:45,971 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 06:17:45,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:45,976 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-28 06:17:45,976 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 06:17:45,980 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:45,980 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:45,982 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-28 06:17:45,982 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-28 06:17:45,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:45,986 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-28 06:17:45,986 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 06:17:45,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:45,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:45,987 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:17:45,987 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:17:45,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 06:17:45,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-28 06:17:45,991 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-28 06:17:45,991 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:17:45,991 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-28 06:17:45,992 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 06:17:45,992 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-28 06:17:46,060 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:46,060 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 06:17:46,062 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 06:17:46,062 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:46,062 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:17:46,082 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 06:17:46,274 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:46,275 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:46,275 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:46,275 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-28 06:17:46,275 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:46,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [604925884] [2022-04-28 06:17:46,276 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:17:46,276 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-28 06:17:46,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:46,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [764309220] [2022-04-28 06:17:46,276 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:46,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:46,291 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:17:46,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1110838306] [2022-04-28 06:17:46,291 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:17:46,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:46,292 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:17:46,304 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:17:46,323 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 06:17:46,363 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:17:46,363 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:17:46,364 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 06:17:46,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:46,383 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:17:47,468 INFO L272 TraceCheckUtils]: 0: Hoare triple {1407#true} call ULTIMATE.init(); {1407#true} is VALID [2022-04-28 06:17:47,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {1407#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1407#true} is VALID [2022-04-28 06:17:47,469 INFO L290 TraceCheckUtils]: 2: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,469 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1407#true} {1407#true} #101#return; {1407#true} is VALID [2022-04-28 06:17:47,469 INFO L272 TraceCheckUtils]: 4: Hoare triple {1407#true} call #t~ret6 := main(); {1407#true} is VALID [2022-04-28 06:17:47,469 INFO L290 TraceCheckUtils]: 5: Hoare triple {1407#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1407#true} is VALID [2022-04-28 06:17:47,469 INFO L272 TraceCheckUtils]: 6: Hoare triple {1407#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {1407#true} is VALID [2022-04-28 06:17:47,469 INFO L290 TraceCheckUtils]: 7: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 06:17:47,469 INFO L290 TraceCheckUtils]: 8: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 06:17:47,469 INFO L290 TraceCheckUtils]: 9: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,469 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1407#true} {1407#true} #81#return; {1407#true} is VALID [2022-04-28 06:17:47,470 INFO L290 TraceCheckUtils]: 11: Hoare triple {1407#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1407#true} is VALID [2022-04-28 06:17:47,470 INFO L272 TraceCheckUtils]: 12: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {1407#true} is VALID [2022-04-28 06:17:47,477 INFO L290 TraceCheckUtils]: 13: Hoare triple {1407#true} ~cond := #in~cond; {1451#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:17:47,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1455#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:17:47,478 INFO L290 TraceCheckUtils]: 15: Hoare triple {1455#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1455#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:17:47,478 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1455#(not (= |assume_abort_if_not_#in~cond| 0))} {1407#true} #83#return; {1462#(<= (mod main_~B~0 4294967296) 20)} is VALID [2022-04-28 06:17:47,478 INFO L272 TraceCheckUtils]: 17: Hoare triple {1462#(<= (mod main_~B~0 4294967296) 20)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1407#true} is VALID [2022-04-28 06:17:47,479 INFO L290 TraceCheckUtils]: 18: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 06:17:47,479 INFO L290 TraceCheckUtils]: 19: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 06:17:47,479 INFO L290 TraceCheckUtils]: 20: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,479 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1407#true} {1462#(<= (mod main_~B~0 4294967296) 20)} #85#return; {1462#(<= (mod main_~B~0 4294967296) 20)} is VALID [2022-04-28 06:17:47,480 INFO L290 TraceCheckUtils]: 22: Hoare triple {1462#(<= (mod main_~B~0 4294967296) 20)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:17:47,480 INFO L290 TraceCheckUtils]: 23: Hoare triple {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:17:47,480 INFO L272 TraceCheckUtils]: 24: Hoare triple {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1407#true} is VALID [2022-04-28 06:17:47,480 INFO L290 TraceCheckUtils]: 25: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 06:17:47,481 INFO L290 TraceCheckUtils]: 26: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 06:17:47,481 INFO L290 TraceCheckUtils]: 27: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,481 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1407#true} {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #87#return; {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:17:47,481 INFO L272 TraceCheckUtils]: 29: Hoare triple {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1407#true} is VALID [2022-04-28 06:17:47,481 INFO L290 TraceCheckUtils]: 30: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 06:17:47,482 INFO L290 TraceCheckUtils]: 31: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 06:17:47,482 INFO L290 TraceCheckUtils]: 32: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,482 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1407#true} {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #89#return; {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:17:47,482 INFO L272 TraceCheckUtils]: 34: Hoare triple {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1407#true} is VALID [2022-04-28 06:17:47,482 INFO L290 TraceCheckUtils]: 35: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 06:17:47,483 INFO L290 TraceCheckUtils]: 36: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 06:17:47,483 INFO L290 TraceCheckUtils]: 37: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,483 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1407#true} {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #91#return; {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:17:47,484 INFO L290 TraceCheckUtils]: 39: Hoare triple {1481#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1533#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:17:47,485 INFO L290 TraceCheckUtils]: 40: Hoare triple {1533#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1533#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:17:47,485 INFO L272 TraceCheckUtils]: 41: Hoare triple {1533#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:17:47,486 INFO L290 TraceCheckUtils]: 42: Hoare triple {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1544#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:47,486 INFO L290 TraceCheckUtils]: 43: Hoare triple {1544#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1408#false} is VALID [2022-04-28 06:17:47,486 INFO L290 TraceCheckUtils]: 44: Hoare triple {1408#false} assume !false; {1408#false} is VALID [2022-04-28 06:17:47,486 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 06:17:47,486 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:17:47,861 INFO L290 TraceCheckUtils]: 44: Hoare triple {1408#false} assume !false; {1408#false} is VALID [2022-04-28 06:17:47,862 INFO L290 TraceCheckUtils]: 43: Hoare triple {1544#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1408#false} is VALID [2022-04-28 06:17:47,862 INFO L290 TraceCheckUtils]: 42: Hoare triple {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1544#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:47,863 INFO L272 TraceCheckUtils]: 41: Hoare triple {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:17:47,864 INFO L290 TraceCheckUtils]: 40: Hoare triple {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:17:47,864 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:17:47,865 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1407#true} {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:17:47,865 INFO L290 TraceCheckUtils]: 37: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,865 INFO L290 TraceCheckUtils]: 36: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 06:17:47,865 INFO L290 TraceCheckUtils]: 35: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 06:17:47,865 INFO L272 TraceCheckUtils]: 34: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1407#true} is VALID [2022-04-28 06:17:47,866 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1407#true} {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:17:47,866 INFO L290 TraceCheckUtils]: 32: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,867 INFO L290 TraceCheckUtils]: 31: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 06:17:47,867 INFO L290 TraceCheckUtils]: 30: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 06:17:47,867 INFO L272 TraceCheckUtils]: 29: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1407#true} is VALID [2022-04-28 06:17:47,867 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1407#true} {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:17:47,867 INFO L290 TraceCheckUtils]: 27: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,868 INFO L290 TraceCheckUtils]: 26: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 06:17:47,868 INFO L290 TraceCheckUtils]: 25: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 06:17:47,868 INFO L272 TraceCheckUtils]: 24: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1407#true} is VALID [2022-04-28 06:17:47,868 INFO L290 TraceCheckUtils]: 23: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:17:47,875 INFO L290 TraceCheckUtils]: 22: Hoare triple {1407#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:17:47,876 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1407#true} {1407#true} #85#return; {1407#true} is VALID [2022-04-28 06:17:47,876 INFO L290 TraceCheckUtils]: 20: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,879 INFO L290 TraceCheckUtils]: 19: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 06:17:47,879 INFO L290 TraceCheckUtils]: 18: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 06:17:47,879 INFO L272 TraceCheckUtils]: 17: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1407#true} is VALID [2022-04-28 06:17:47,879 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1407#true} {1407#true} #83#return; {1407#true} is VALID [2022-04-28 06:17:47,879 INFO L290 TraceCheckUtils]: 15: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,879 INFO L290 TraceCheckUtils]: 14: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 06:17:47,879 INFO L290 TraceCheckUtils]: 13: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 06:17:47,879 INFO L272 TraceCheckUtils]: 12: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {1407#true} is VALID [2022-04-28 06:17:47,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {1407#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1407#true} is VALID [2022-04-28 06:17:47,880 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1407#true} {1407#true} #81#return; {1407#true} is VALID [2022-04-28 06:17:47,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 06:17:47,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 06:17:47,880 INFO L272 TraceCheckUtils]: 6: Hoare triple {1407#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {1407#true} is VALID [2022-04-28 06:17:47,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {1407#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1407#true} is VALID [2022-04-28 06:17:47,880 INFO L272 TraceCheckUtils]: 4: Hoare triple {1407#true} call #t~ret6 := main(); {1407#true} is VALID [2022-04-28 06:17:47,880 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1407#true} {1407#true} #101#return; {1407#true} is VALID [2022-04-28 06:17:47,880 INFO L290 TraceCheckUtils]: 2: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 06:17:47,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {1407#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1407#true} is VALID [2022-04-28 06:17:47,881 INFO L272 TraceCheckUtils]: 0: Hoare triple {1407#true} call ULTIMATE.init(); {1407#true} is VALID [2022-04-28 06:17:47,881 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 06:17:47,881 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:17:47,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [764309220] [2022-04-28 06:17:47,881 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:17:47,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1110838306] [2022-04-28 06:17:47,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1110838306] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 06:17:47,881 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 06:17:47,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-28 06:17:47,882 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:17:47,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [604925884] [2022-04-28 06:17:47,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [604925884] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:47,882 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:47,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:17:47,882 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1460120207] [2022-04-28 06:17:47,882 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:17:47,883 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-28 06:17:47,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:17:47,883 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:17:47,906 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:47,906 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:17:47,906 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:47,907 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:17:47,907 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 06:17:47,907 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:17:48,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:48,119 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-28 06:17:48,119 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:17:48,119 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-28 06:17:48,120 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:17:48,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:17:48,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 06:17:48,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:17:48,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 06:17:48,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 06:17:48,170 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:48,172 INFO L225 Difference]: With dead ends: 68 [2022-04-28 06:17:48,172 INFO L226 Difference]: Without dead ends: 66 [2022-04-28 06:17:48,172 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:17:48,173 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 16 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:17:48,173 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 128 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:17:48,173 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-28 06:17:48,191 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-28 06:17:48,191 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:17:48,191 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 06:17:48,192 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 06:17:48,194 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 06:17:48,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:48,196 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-28 06:17:48,196 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-28 06:17:48,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:48,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:48,198 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-28 06:17:48,198 INFO L87 Difference]: Start difference. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-28 06:17:48,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:48,201 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-28 06:17:48,201 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-28 06:17:48,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:48,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:48,201 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:17:48,202 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:17:48,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 06:17:48,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-28 06:17:48,204 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-28 06:17:48,204 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:17:48,204 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-28 06:17:48,204 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:17:48,204 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 80 transitions. [2022-04-28 06:17:48,287 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:48,287 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-28 06:17:48,287 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 06:17:48,287 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:48,288 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:17:48,306 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 06:17:48,504 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:48,504 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:48,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:48,505 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-28 06:17:48,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:48,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1975531711] [2022-04-28 06:17:48,505 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:17:48,505 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-28 06:17:48,505 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:48,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [944501313] [2022-04-28 06:17:48,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:48,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:48,515 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:17:48,515 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2090560980] [2022-04-28 06:17:48,515 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:17:48,515 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:48,515 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:17:48,516 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:17:48,549 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 06:17:48,557 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:17:48,558 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:17:48,558 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 06:17:48,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:48,569 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:17:49,240 INFO L272 TraceCheckUtils]: 0: Hoare triple {2085#true} call ULTIMATE.init(); {2085#true} is VALID [2022-04-28 06:17:49,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {2085#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2085#true} is VALID [2022-04-28 06:17:49,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,241 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2085#true} {2085#true} #101#return; {2085#true} is VALID [2022-04-28 06:17:49,241 INFO L272 TraceCheckUtils]: 4: Hoare triple {2085#true} call #t~ret6 := main(); {2085#true} is VALID [2022-04-28 06:17:49,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {2085#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2085#true} is VALID [2022-04-28 06:17:49,241 INFO L272 TraceCheckUtils]: 6: Hoare triple {2085#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,241 INFO L290 TraceCheckUtils]: 7: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,241 INFO L290 TraceCheckUtils]: 8: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,241 INFO L290 TraceCheckUtils]: 9: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,242 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2085#true} {2085#true} #81#return; {2085#true} is VALID [2022-04-28 06:17:49,242 INFO L290 TraceCheckUtils]: 11: Hoare triple {2085#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2085#true} is VALID [2022-04-28 06:17:49,242 INFO L272 TraceCheckUtils]: 12: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,242 INFO L290 TraceCheckUtils]: 13: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,242 INFO L290 TraceCheckUtils]: 14: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,242 INFO L290 TraceCheckUtils]: 15: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,242 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2085#true} {2085#true} #83#return; {2085#true} is VALID [2022-04-28 06:17:49,242 INFO L272 TraceCheckUtils]: 17: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,243 INFO L290 TraceCheckUtils]: 18: Hoare triple {2085#true} ~cond := #in~cond; {2144#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:17:49,243 INFO L290 TraceCheckUtils]: 19: Hoare triple {2144#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2148#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:17:49,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {2148#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2148#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:17:49,244 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2148#(not (= |assume_abort_if_not_#in~cond| 0))} {2085#true} #85#return; {2155#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:17:49,244 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:49,245 INFO L290 TraceCheckUtils]: 23: Hoare triple {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:49,245 INFO L272 TraceCheckUtils]: 24: Hoare triple {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,245 INFO L290 TraceCheckUtils]: 26: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,245 INFO L290 TraceCheckUtils]: 27: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,246 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2085#true} {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:49,246 INFO L272 TraceCheckUtils]: 29: Hoare triple {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,246 INFO L290 TraceCheckUtils]: 30: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,246 INFO L290 TraceCheckUtils]: 31: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,246 INFO L290 TraceCheckUtils]: 32: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,248 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2085#true} {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:49,248 INFO L272 TraceCheckUtils]: 34: Hoare triple {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,248 INFO L290 TraceCheckUtils]: 35: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,248 INFO L290 TraceCheckUtils]: 36: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,248 INFO L290 TraceCheckUtils]: 37: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,250 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2085#true} {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:49,251 INFO L290 TraceCheckUtils]: 39: Hoare triple {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,251 INFO L290 TraceCheckUtils]: 40: Hoare triple {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,251 INFO L272 TraceCheckUtils]: 41: Hoare triple {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,251 INFO L290 TraceCheckUtils]: 42: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,251 INFO L290 TraceCheckUtils]: 43: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,251 INFO L290 TraceCheckUtils]: 44: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,252 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2085#true} {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,252 INFO L272 TraceCheckUtils]: 46: Hoare triple {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,252 INFO L290 TraceCheckUtils]: 47: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,252 INFO L290 TraceCheckUtils]: 48: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,252 INFO L290 TraceCheckUtils]: 49: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,253 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2085#true} {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,253 INFO L272 TraceCheckUtils]: 51: Hoare triple {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:17:49,254 INFO L290 TraceCheckUtils]: 52: Hoare triple {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:49,254 INFO L290 TraceCheckUtils]: 53: Hoare triple {2252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2086#false} is VALID [2022-04-28 06:17:49,254 INFO L290 TraceCheckUtils]: 54: Hoare triple {2086#false} assume !false; {2086#false} is VALID [2022-04-28 06:17:49,256 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-28 06:17:49,256 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:17:49,572 INFO L290 TraceCheckUtils]: 54: Hoare triple {2086#false} assume !false; {2086#false} is VALID [2022-04-28 06:17:49,573 INFO L290 TraceCheckUtils]: 53: Hoare triple {2252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2086#false} is VALID [2022-04-28 06:17:49,573 INFO L290 TraceCheckUtils]: 52: Hoare triple {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:49,574 INFO L272 TraceCheckUtils]: 51: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:17:49,574 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,574 INFO L290 TraceCheckUtils]: 49: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,575 INFO L290 TraceCheckUtils]: 48: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,575 INFO L290 TraceCheckUtils]: 47: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,575 INFO L272 TraceCheckUtils]: 46: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,575 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,575 INFO L290 TraceCheckUtils]: 44: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,575 INFO L290 TraceCheckUtils]: 43: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,575 INFO L290 TraceCheckUtils]: 42: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,576 INFO L272 TraceCheckUtils]: 41: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,576 INFO L290 TraceCheckUtils]: 40: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,633 INFO L290 TraceCheckUtils]: 39: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,634 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,634 INFO L290 TraceCheckUtils]: 37: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,634 INFO L290 TraceCheckUtils]: 36: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,634 INFO L290 TraceCheckUtils]: 35: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,634 INFO L272 TraceCheckUtils]: 34: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,635 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,635 INFO L290 TraceCheckUtils]: 32: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,635 INFO L290 TraceCheckUtils]: 31: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,635 INFO L290 TraceCheckUtils]: 30: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,635 INFO L272 TraceCheckUtils]: 29: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,636 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,636 INFO L290 TraceCheckUtils]: 27: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,636 INFO L290 TraceCheckUtils]: 26: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,636 INFO L290 TraceCheckUtils]: 25: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,636 INFO L272 TraceCheckUtils]: 24: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,636 INFO L290 TraceCheckUtils]: 23: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,637 INFO L290 TraceCheckUtils]: 22: Hoare triple {2085#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:49,637 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2085#true} {2085#true} #85#return; {2085#true} is VALID [2022-04-28 06:17:49,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,637 INFO L290 TraceCheckUtils]: 19: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,637 INFO L290 TraceCheckUtils]: 18: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,637 INFO L272 TraceCheckUtils]: 17: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,637 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2085#true} {2085#true} #83#return; {2085#true} is VALID [2022-04-28 06:17:49,637 INFO L290 TraceCheckUtils]: 15: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,637 INFO L290 TraceCheckUtils]: 14: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,638 INFO L290 TraceCheckUtils]: 13: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,638 INFO L272 TraceCheckUtils]: 12: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,638 INFO L290 TraceCheckUtils]: 11: Hoare triple {2085#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2085#true} is VALID [2022-04-28 06:17:49,638 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2085#true} {2085#true} #81#return; {2085#true} is VALID [2022-04-28 06:17:49,638 INFO L290 TraceCheckUtils]: 9: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,638 INFO L290 TraceCheckUtils]: 8: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 06:17:49,638 INFO L290 TraceCheckUtils]: 7: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 06:17:49,638 INFO L272 TraceCheckUtils]: 6: Hoare triple {2085#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {2085#true} is VALID [2022-04-28 06:17:49,638 INFO L290 TraceCheckUtils]: 5: Hoare triple {2085#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2085#true} is VALID [2022-04-28 06:17:49,638 INFO L272 TraceCheckUtils]: 4: Hoare triple {2085#true} call #t~ret6 := main(); {2085#true} is VALID [2022-04-28 06:17:49,638 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2085#true} {2085#true} #101#return; {2085#true} is VALID [2022-04-28 06:17:49,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 06:17:49,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {2085#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2085#true} is VALID [2022-04-28 06:17:49,639 INFO L272 TraceCheckUtils]: 0: Hoare triple {2085#true} call ULTIMATE.init(); {2085#true} is VALID [2022-04-28 06:17:49,639 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-28 06:17:49,639 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:17:49,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [944501313] [2022-04-28 06:17:49,639 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:17:49,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2090560980] [2022-04-28 06:17:49,639 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2090560980] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 06:17:49,640 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 06:17:49,640 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-28 06:17:49,640 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:17:49,640 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1975531711] [2022-04-28 06:17:49,640 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1975531711] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:49,640 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:49,640 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:17:49,640 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1829956358] [2022-04-28 06:17:49,640 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:17:49,641 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-28 06:17:49,641 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:17:49,641 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:17:49,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:49,664 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:17:49,664 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:49,665 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:17:49,665 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:17:49,665 INFO L87 Difference]: Start difference. First operand 64 states and 80 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:17:50,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:50,054 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-28 06:17:50,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:17:50,054 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-28 06:17:50,054 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:17:50,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:17:50,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 06:17:50,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:17:50,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 06:17:50,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-28 06:17:50,103 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:50,105 INFO L225 Difference]: With dead ends: 76 [2022-04-28 06:17:50,105 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 06:17:50,106 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-28 06:17:50,106 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:17:50,107 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:17:50,107 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 06:17:50,126 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-28 06:17:50,126 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:17:50,127 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:17:50,127 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:17:50,127 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:17:50,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:50,132 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-28 06:17:50,133 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-28 06:17:50,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:50,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:50,133 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-28 06:17:50,134 INFO L87 Difference]: Start difference. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-28 06:17:50,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:50,136 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-28 06:17:50,136 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-28 06:17:50,137 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:50,137 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:50,137 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:17:50,137 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:17:50,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:17:50,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-28 06:17:50,140 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-28 06:17:50,140 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:17:50,140 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-28 06:17:50,140 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:17:50,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 88 transitions. [2022-04-28 06:17:50,239 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:50,239 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-28 06:17:50,240 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-28 06:17:50,240 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:50,240 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:17:50,262 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 06:17:50,451 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:50,451 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:50,452 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:50,452 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-28 06:17:50,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:50,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [328613418] [2022-04-28 06:17:50,452 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:17:50,452 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 2 times [2022-04-28 06:17:50,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:50,453 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [667342504] [2022-04-28 06:17:50,453 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:50,453 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:50,461 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:17:50,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [72987393] [2022-04-28 06:17:50,461 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:17:50,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:50,461 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:17:50,462 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:17:50,463 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 06:17:50,496 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:17:50,497 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:17:50,497 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:17:50,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:50,512 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:17:52,684 INFO L272 TraceCheckUtils]: 0: Hoare triple {2868#true} call ULTIMATE.init(); {2868#true} is VALID [2022-04-28 06:17:52,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {2868#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2868#true} is VALID [2022-04-28 06:17:52,685 INFO L290 TraceCheckUtils]: 2: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 06:17:52,685 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2868#true} {2868#true} #101#return; {2868#true} is VALID [2022-04-28 06:17:52,685 INFO L272 TraceCheckUtils]: 4: Hoare triple {2868#true} call #t~ret6 := main(); {2868#true} is VALID [2022-04-28 06:17:52,685 INFO L290 TraceCheckUtils]: 5: Hoare triple {2868#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2868#true} is VALID [2022-04-28 06:17:52,685 INFO L272 TraceCheckUtils]: 6: Hoare triple {2868#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {2868#true} is VALID [2022-04-28 06:17:52,685 INFO L290 TraceCheckUtils]: 7: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 06:17:52,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 06:17:52,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 06:17:52,685 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2868#true} {2868#true} #81#return; {2868#true} is VALID [2022-04-28 06:17:52,686 INFO L290 TraceCheckUtils]: 11: Hoare triple {2868#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2868#true} is VALID [2022-04-28 06:17:52,686 INFO L272 TraceCheckUtils]: 12: Hoare triple {2868#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {2868#true} is VALID [2022-04-28 06:17:52,686 INFO L290 TraceCheckUtils]: 13: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 06:17:52,686 INFO L290 TraceCheckUtils]: 14: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 06:17:52,686 INFO L290 TraceCheckUtils]: 15: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 06:17:52,686 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2868#true} {2868#true} #83#return; {2868#true} is VALID [2022-04-28 06:17:52,686 INFO L272 TraceCheckUtils]: 17: Hoare triple {2868#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2868#true} is VALID [2022-04-28 06:17:52,686 INFO L290 TraceCheckUtils]: 18: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 06:17:52,686 INFO L290 TraceCheckUtils]: 19: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 06:17:52,686 INFO L290 TraceCheckUtils]: 20: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 06:17:52,686 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2868#true} {2868#true} #85#return; {2868#true} is VALID [2022-04-28 06:17:52,687 INFO L290 TraceCheckUtils]: 22: Hoare triple {2868#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:17:52,687 INFO L290 TraceCheckUtils]: 23: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:17:52,687 INFO L272 TraceCheckUtils]: 24: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2868#true} is VALID [2022-04-28 06:17:52,688 INFO L290 TraceCheckUtils]: 25: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 06:17:52,688 INFO L290 TraceCheckUtils]: 26: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 06:17:52,688 INFO L290 TraceCheckUtils]: 27: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 06:17:52,688 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:17:52,688 INFO L272 TraceCheckUtils]: 29: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2868#true} is VALID [2022-04-28 06:17:52,688 INFO L290 TraceCheckUtils]: 30: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 06:17:52,689 INFO L290 TraceCheckUtils]: 31: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 06:17:52,689 INFO L290 TraceCheckUtils]: 32: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 06:17:52,689 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:17:52,689 INFO L272 TraceCheckUtils]: 34: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2868#true} is VALID [2022-04-28 06:17:52,689 INFO L290 TraceCheckUtils]: 35: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 06:17:52,690 INFO L290 TraceCheckUtils]: 36: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 06:17:52,690 INFO L290 TraceCheckUtils]: 37: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 06:17:52,691 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:17:52,691 INFO L290 TraceCheckUtils]: 39: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:17:52,691 INFO L290 TraceCheckUtils]: 40: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:17:52,692 INFO L272 TraceCheckUtils]: 41: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2868#true} is VALID [2022-04-28 06:17:52,692 INFO L290 TraceCheckUtils]: 42: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 06:17:52,692 INFO L290 TraceCheckUtils]: 43: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 06:17:52,692 INFO L290 TraceCheckUtils]: 44: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 06:17:52,692 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:17:52,693 INFO L272 TraceCheckUtils]: 46: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2868#true} is VALID [2022-04-28 06:17:52,693 INFO L290 TraceCheckUtils]: 47: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 06:17:52,693 INFO L290 TraceCheckUtils]: 48: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 06:17:52,693 INFO L290 TraceCheckUtils]: 49: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 06:17:52,694 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:17:52,694 INFO L290 TraceCheckUtils]: 51: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(1 != ~p~0); {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:17:52,695 INFO L272 TraceCheckUtils]: 52: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3030#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:17:52,695 INFO L290 TraceCheckUtils]: 53: Hoare triple {3030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:52,696 INFO L290 TraceCheckUtils]: 54: Hoare triple {3034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2869#false} is VALID [2022-04-28 06:17:52,696 INFO L290 TraceCheckUtils]: 55: Hoare triple {2869#false} assume !false; {2869#false} is VALID [2022-04-28 06:17:52,696 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 06:17:52,696 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:17:52,696 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:17:52,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [667342504] [2022-04-28 06:17:52,696 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:17:52,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [72987393] [2022-04-28 06:17:52,696 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [72987393] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:52,697 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:52,697 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:17:52,697 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:17:52,697 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [328613418] [2022-04-28 06:17:52,697 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [328613418] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:52,697 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:52,697 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:17:52,697 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1567926288] [2022-04-28 06:17:52,697 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:17:52,697 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-28 06:17:52,698 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:17:52,698 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 06:17:52,730 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:52,730 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:17:52,730 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:52,730 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:17:52,730 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:17:52,730 INFO L87 Difference]: Start difference. First operand 71 states and 88 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 06:17:52,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:52,985 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-28 06:17:52,985 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:17:52,985 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-28 06:17:52,985 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:17:52,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 06:17:52,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 06:17:52,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 06:17:52,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 06:17:52,988 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 06:17:53,064 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:53,065 INFO L225 Difference]: With dead ends: 79 [2022-04-28 06:17:53,065 INFO L226 Difference]: Without dead ends: 72 [2022-04-28 06:17:53,065 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 52 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:17:53,066 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:17:53,066 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 123 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:17:53,066 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-28 06:17:53,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-28 06:17:53,090 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:17:53,090 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 06:17:53,090 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 06:17:53,090 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 06:17:53,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:53,093 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-28 06:17:53,093 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-28 06:17:53,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:53,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:53,093 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-28 06:17:53,094 INFO L87 Difference]: Start difference. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-28 06:17:53,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:53,096 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-28 06:17:53,096 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-28 06:17:53,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:53,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:53,096 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:17:53,096 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:17:53,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 06:17:53,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-28 06:17:53,099 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-28 06:17:53,099 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:17:53,099 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-28 06:17:53,099 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 06:17:53,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 85 transitions. [2022-04-28 06:17:53,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:53,191 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-28 06:17:53,191 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 06:17:53,192 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:53,192 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:17:53,208 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 06:17:53,392 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:53,392 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:53,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:53,393 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-28 06:17:53,393 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:53,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2125013771] [2022-04-28 06:17:53,393 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:17:53,393 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-28 06:17:53,393 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:53,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1054033576] [2022-04-28 06:17:53,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:53,393 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:53,407 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:17:53,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [957844018] [2022-04-28 06:17:53,407 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:17:53,407 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:53,407 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:17:53,417 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:17:53,420 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 06:17:53,487 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:17:53,487 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:17:53,488 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 06:17:53,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:53,500 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:17:57,696 INFO L272 TraceCheckUtils]: 0: Hoare triple {3486#true} call ULTIMATE.init(); {3486#true} is VALID [2022-04-28 06:17:57,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {3486#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3486#true} is VALID [2022-04-28 06:17:57,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:17:57,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3486#true} {3486#true} #101#return; {3486#true} is VALID [2022-04-28 06:17:57,697 INFO L272 TraceCheckUtils]: 4: Hoare triple {3486#true} call #t~ret6 := main(); {3486#true} is VALID [2022-04-28 06:17:57,697 INFO L290 TraceCheckUtils]: 5: Hoare triple {3486#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3486#true} is VALID [2022-04-28 06:17:57,697 INFO L272 TraceCheckUtils]: 6: Hoare triple {3486#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:17:57,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:17:57,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:17:57,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:17:57,697 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3486#true} {3486#true} #81#return; {3486#true} is VALID [2022-04-28 06:17:57,697 INFO L290 TraceCheckUtils]: 11: Hoare triple {3486#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3486#true} is VALID [2022-04-28 06:17:57,697 INFO L272 TraceCheckUtils]: 12: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:17:57,697 INFO L290 TraceCheckUtils]: 13: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:17:57,697 INFO L290 TraceCheckUtils]: 14: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:17:57,697 INFO L290 TraceCheckUtils]: 15: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:17:57,698 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3486#true} {3486#true} #83#return; {3486#true} is VALID [2022-04-28 06:17:57,698 INFO L272 TraceCheckUtils]: 17: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:17:57,698 INFO L290 TraceCheckUtils]: 18: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:17:57,698 INFO L290 TraceCheckUtils]: 19: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:17:57,698 INFO L290 TraceCheckUtils]: 20: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:17:57,698 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3486#true} {3486#true} #85#return; {3486#true} is VALID [2022-04-28 06:17:57,711 INFO L290 TraceCheckUtils]: 22: Hoare triple {3486#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:57,712 INFO L290 TraceCheckUtils]: 23: Hoare triple {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:57,712 INFO L272 TraceCheckUtils]: 24: Hoare triple {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:17:57,712 INFO L290 TraceCheckUtils]: 25: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:17:57,712 INFO L290 TraceCheckUtils]: 26: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:17:57,712 INFO L290 TraceCheckUtils]: 27: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:17:57,713 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3486#true} {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:57,713 INFO L272 TraceCheckUtils]: 29: Hoare triple {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:17:57,713 INFO L290 TraceCheckUtils]: 30: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:17:57,713 INFO L290 TraceCheckUtils]: 31: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:17:57,713 INFO L290 TraceCheckUtils]: 32: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:17:57,714 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3486#true} {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:57,714 INFO L272 TraceCheckUtils]: 34: Hoare triple {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:17:57,714 INFO L290 TraceCheckUtils]: 35: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:17:57,714 INFO L290 TraceCheckUtils]: 36: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:17:57,714 INFO L290 TraceCheckUtils]: 37: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:17:57,716 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3486#true} {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:57,717 INFO L290 TraceCheckUtils]: 39: Hoare triple {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:57,717 INFO L290 TraceCheckUtils]: 40: Hoare triple {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:57,718 INFO L272 TraceCheckUtils]: 41: Hoare triple {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:17:57,718 INFO L290 TraceCheckUtils]: 42: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:17:57,718 INFO L290 TraceCheckUtils]: 43: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:17:57,718 INFO L290 TraceCheckUtils]: 44: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:17:57,719 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3486#true} {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:57,719 INFO L272 TraceCheckUtils]: 46: Hoare triple {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:17:57,719 INFO L290 TraceCheckUtils]: 47: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:17:57,719 INFO L290 TraceCheckUtils]: 48: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:17:57,719 INFO L290 TraceCheckUtils]: 49: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:17:57,720 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3486#true} {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:57,720 INFO L272 TraceCheckUtils]: 51: Hoare triple {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:17:57,720 INFO L290 TraceCheckUtils]: 52: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:17:57,720 INFO L290 TraceCheckUtils]: 53: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:17:57,720 INFO L290 TraceCheckUtils]: 54: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:17:57,721 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3486#true} {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:57,721 INFO L290 TraceCheckUtils]: 56: Hoare triple {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:57,722 INFO L290 TraceCheckUtils]: 57: Hoare triple {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:57,722 INFO L272 TraceCheckUtils]: 58: Hoare triple {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:17:57,722 INFO L290 TraceCheckUtils]: 59: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:17:57,722 INFO L290 TraceCheckUtils]: 60: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:17:57,722 INFO L290 TraceCheckUtils]: 61: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:17:57,723 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3486#true} {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:57,723 INFO L272 TraceCheckUtils]: 63: Hoare triple {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:17:57,723 INFO L290 TraceCheckUtils]: 64: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:17:57,724 INFO L290 TraceCheckUtils]: 65: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:17:57,724 INFO L290 TraceCheckUtils]: 66: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:17:57,724 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3486#true} {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:57,726 INFO L290 TraceCheckUtils]: 68: Hoare triple {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3698#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:57,727 INFO L290 TraceCheckUtils]: 69: Hoare triple {3698#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3702#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-28 06:17:57,728 INFO L290 TraceCheckUtils]: 70: Hoare triple {3702#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} assume !false; {3702#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-28 06:17:57,729 INFO L272 TraceCheckUtils]: 71: Hoare triple {3702#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:17:57,729 INFO L290 TraceCheckUtils]: 72: Hoare triple {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3713#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:57,730 INFO L290 TraceCheckUtils]: 73: Hoare triple {3713#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3487#false} is VALID [2022-04-28 06:17:57,730 INFO L290 TraceCheckUtils]: 74: Hoare triple {3487#false} assume !false; {3487#false} is VALID [2022-04-28 06:17:57,731 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-28 06:17:57,731 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:18:04,570 INFO L290 TraceCheckUtils]: 74: Hoare triple {3487#false} assume !false; {3487#false} is VALID [2022-04-28 06:18:04,570 INFO L290 TraceCheckUtils]: 73: Hoare triple {3713#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3487#false} is VALID [2022-04-28 06:18:04,571 INFO L290 TraceCheckUtils]: 72: Hoare triple {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3713#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:18:04,572 INFO L272 TraceCheckUtils]: 71: Hoare triple {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:18:04,574 INFO L290 TraceCheckUtils]: 70: Hoare triple {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:18:04,576 INFO L290 TraceCheckUtils]: 69: Hoare triple {3736#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:18:04,588 INFO L290 TraceCheckUtils]: 68: Hoare triple {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3736#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 06:18:04,589 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3486#true} {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #95#return; {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:18:04,589 INFO L290 TraceCheckUtils]: 66: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:18:04,589 INFO L290 TraceCheckUtils]: 65: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:18:04,589 INFO L290 TraceCheckUtils]: 64: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:18:04,589 INFO L272 TraceCheckUtils]: 63: Hoare triple {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:18:04,590 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3486#true} {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #93#return; {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:18:04,590 INFO L290 TraceCheckUtils]: 61: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:18:04,590 INFO L290 TraceCheckUtils]: 60: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:18:04,590 INFO L290 TraceCheckUtils]: 59: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:18:04,590 INFO L272 TraceCheckUtils]: 58: Hoare triple {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:18:04,591 INFO L290 TraceCheckUtils]: 57: Hoare triple {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:18:04,592 INFO L290 TraceCheckUtils]: 56: Hoare triple {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:18:04,593 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3486#true} {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #91#return; {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:18:04,593 INFO L290 TraceCheckUtils]: 54: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:18:04,593 INFO L290 TraceCheckUtils]: 53: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:18:04,593 INFO L290 TraceCheckUtils]: 52: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:18:04,593 INFO L272 TraceCheckUtils]: 51: Hoare triple {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:18:04,593 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3486#true} {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #89#return; {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:18:04,594 INFO L290 TraceCheckUtils]: 49: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:18:04,594 INFO L290 TraceCheckUtils]: 48: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:18:04,594 INFO L290 TraceCheckUtils]: 47: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:18:04,594 INFO L272 TraceCheckUtils]: 46: Hoare triple {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:18:04,594 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3486#true} {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #87#return; {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:18:04,595 INFO L290 TraceCheckUtils]: 44: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:18:04,595 INFO L290 TraceCheckUtils]: 43: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:18:04,595 INFO L290 TraceCheckUtils]: 42: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:18:04,595 INFO L272 TraceCheckUtils]: 41: Hoare triple {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:18:04,596 INFO L290 TraceCheckUtils]: 40: Hoare triple {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !false; {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:18:04,599 INFO L290 TraceCheckUtils]: 39: Hoare triple {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:18:04,600 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3486#true} {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:18:04,600 INFO L290 TraceCheckUtils]: 37: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:18:04,600 INFO L290 TraceCheckUtils]: 36: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:18:04,600 INFO L290 TraceCheckUtils]: 35: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:18:04,601 INFO L272 TraceCheckUtils]: 34: Hoare triple {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:18:04,601 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3486#true} {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:18:04,601 INFO L290 TraceCheckUtils]: 32: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:18:04,601 INFO L290 TraceCheckUtils]: 31: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:18:04,601 INFO L290 TraceCheckUtils]: 30: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:18:04,601 INFO L272 TraceCheckUtils]: 29: Hoare triple {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:18:04,602 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3486#true} {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:18:04,602 INFO L290 TraceCheckUtils]: 27: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:18:04,602 INFO L290 TraceCheckUtils]: 26: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:18:04,602 INFO L290 TraceCheckUtils]: 25: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:18:04,602 INFO L272 TraceCheckUtils]: 24: Hoare triple {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:18:04,603 INFO L290 TraceCheckUtils]: 23: Hoare triple {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:18:04,604 INFO L290 TraceCheckUtils]: 22: Hoare triple {3486#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:18:04,604 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3486#true} {3486#true} #85#return; {3486#true} is VALID [2022-04-28 06:18:04,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:18:04,604 INFO L290 TraceCheckUtils]: 19: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:18:04,604 INFO L290 TraceCheckUtils]: 18: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:18:04,604 INFO L272 TraceCheckUtils]: 17: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:18:04,604 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3486#true} {3486#true} #83#return; {3486#true} is VALID [2022-04-28 06:18:04,604 INFO L290 TraceCheckUtils]: 15: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:18:04,604 INFO L290 TraceCheckUtils]: 14: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L272 TraceCheckUtils]: 12: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L290 TraceCheckUtils]: 11: Hoare triple {3486#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3486#true} {3486#true} #81#return; {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L290 TraceCheckUtils]: 9: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L290 TraceCheckUtils]: 8: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L290 TraceCheckUtils]: 7: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L272 TraceCheckUtils]: 6: Hoare triple {3486#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L290 TraceCheckUtils]: 5: Hoare triple {3486#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L272 TraceCheckUtils]: 4: Hoare triple {3486#true} call #t~ret6 := main(); {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3486#true} {3486#true} #101#return; {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {3486#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3486#true} is VALID [2022-04-28 06:18:04,605 INFO L272 TraceCheckUtils]: 0: Hoare triple {3486#true} call ULTIMATE.init(); {3486#true} is VALID [2022-04-28 06:18:04,606 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-28 06:18:04,606 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:18:04,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1054033576] [2022-04-28 06:18:04,607 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:18:04,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [957844018] [2022-04-28 06:18:04,607 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [957844018] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:18:04,607 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:18:04,607 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 06:18:04,607 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:18:04,607 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2125013771] [2022-04-28 06:18:04,607 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2125013771] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:18:04,607 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:18:04,607 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 06:18:04,607 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [997117709] [2022-04-28 06:18:04,607 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:18:04,608 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 75 [2022-04-28 06:18:04,608 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:18:04,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:18:04,650 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:18:04,651 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 06:18:04,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:18:04,651 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 06:18:04,651 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:18:04,651 INFO L87 Difference]: Start difference. First operand 71 states and 85 transitions. Second operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:18:05,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:05,499 INFO L93 Difference]: Finished difference Result 135 states and 165 transitions. [2022-04-28 06:18:05,500 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:18:05,500 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 75 [2022-04-28 06:18:05,500 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:18:05,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:18:05,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-04-28 06:18:05,502 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:18:05,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-04-28 06:18:05,503 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 102 transitions. [2022-04-28 06:18:05,594 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:18:05,596 INFO L225 Difference]: With dead ends: 135 [2022-04-28 06:18:05,596 INFO L226 Difference]: Without dead ends: 108 [2022-04-28 06:18:05,597 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 136 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-28 06:18:05,597 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 10 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 224 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 237 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 224 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 06:18:05,597 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 211 Invalid, 237 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 224 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 06:18:05,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-28 06:18:05,653 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 106. [2022-04-28 06:18:05,653 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:18:05,654 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:18:05,654 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:18:05,654 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:18:05,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:05,657 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-28 06:18:05,657 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-28 06:18:05,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:18:05,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:18:05,657 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-28 06:18:05,658 INFO L87 Difference]: Start difference. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-28 06:18:05,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:05,660 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-28 06:18:05,660 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-28 06:18:05,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:18:05,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:18:05,661 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:18:05,661 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:18:05,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:18:05,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 125 transitions. [2022-04-28 06:18:05,665 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 125 transitions. Word has length 75 [2022-04-28 06:18:05,665 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:18:05,665 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 125 transitions. [2022-04-28 06:18:05,665 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:18:05,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 125 transitions. [2022-04-28 06:18:05,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:18:05,804 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-28 06:18:05,806 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 06:18:05,806 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:18:05,806 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:18:05,823 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 06:18:06,011 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:18:06,011 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:18:06,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:18:06,012 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-28 06:18:06,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:18:06,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2013580655] [2022-04-28 06:18:06,012 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:18:06,012 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-28 06:18:06,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:18:06,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1067342581] [2022-04-28 06:18:06,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:18:06,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:18:06,024 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:18:06,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [712339352] [2022-04-28 06:18:06,025 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:18:06,025 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:18:06,025 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:18:06,032 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:18:06,033 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 06:18:06,092 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:18:06,092 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:18:06,093 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 06:18:06,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:18:06,105 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:18:06,881 INFO L272 TraceCheckUtils]: 0: Hoare triple {4649#true} call ULTIMATE.init(); {4649#true} is VALID [2022-04-28 06:18:06,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {4649#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4649#true} is VALID [2022-04-28 06:18:06,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4649#true} {4649#true} #101#return; {4649#true} is VALID [2022-04-28 06:18:06,881 INFO L272 TraceCheckUtils]: 4: Hoare triple {4649#true} call #t~ret6 := main(); {4649#true} is VALID [2022-04-28 06:18:06,881 INFO L290 TraceCheckUtils]: 5: Hoare triple {4649#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4649#true} is VALID [2022-04-28 06:18:06,881 INFO L272 TraceCheckUtils]: 6: Hoare triple {4649#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:06,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L290 TraceCheckUtils]: 9: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4649#true} {4649#true} #81#return; {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L290 TraceCheckUtils]: 11: Hoare triple {4649#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L272 TraceCheckUtils]: 12: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L290 TraceCheckUtils]: 13: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L290 TraceCheckUtils]: 14: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L290 TraceCheckUtils]: 15: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4649#true} {4649#true} #83#return; {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L272 TraceCheckUtils]: 17: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L290 TraceCheckUtils]: 18: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L290 TraceCheckUtils]: 19: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:06,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,883 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4649#true} {4649#true} #85#return; {4649#true} is VALID [2022-04-28 06:18:06,883 INFO L290 TraceCheckUtils]: 22: Hoare triple {4649#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:18:06,883 INFO L290 TraceCheckUtils]: 23: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:18:06,883 INFO L272 TraceCheckUtils]: 24: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:06,883 INFO L290 TraceCheckUtils]: 25: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:06,884 INFO L290 TraceCheckUtils]: 26: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:06,884 INFO L290 TraceCheckUtils]: 27: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,885 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4649#true} {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:18:06,885 INFO L272 TraceCheckUtils]: 29: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:06,885 INFO L290 TraceCheckUtils]: 30: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:06,885 INFO L290 TraceCheckUtils]: 31: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:06,885 INFO L290 TraceCheckUtils]: 32: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,886 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4649#true} {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:18:06,886 INFO L272 TraceCheckUtils]: 34: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:06,886 INFO L290 TraceCheckUtils]: 35: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:06,886 INFO L290 TraceCheckUtils]: 36: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:06,886 INFO L290 TraceCheckUtils]: 37: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,887 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4649#true} {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:18:06,888 INFO L290 TraceCheckUtils]: 39: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:06,888 INFO L290 TraceCheckUtils]: 40: Hoare triple {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:06,888 INFO L272 TraceCheckUtils]: 41: Hoare triple {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:06,888 INFO L290 TraceCheckUtils]: 42: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:06,888 INFO L290 TraceCheckUtils]: 43: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:06,888 INFO L290 TraceCheckUtils]: 44: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,889 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4649#true} {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:06,889 INFO L272 TraceCheckUtils]: 46: Hoare triple {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:06,889 INFO L290 TraceCheckUtils]: 47: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:06,889 INFO L290 TraceCheckUtils]: 48: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:06,889 INFO L290 TraceCheckUtils]: 49: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,890 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4649#true} {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:06,890 INFO L272 TraceCheckUtils]: 51: Hoare triple {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:06,890 INFO L290 TraceCheckUtils]: 52: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:06,890 INFO L290 TraceCheckUtils]: 53: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:06,890 INFO L290 TraceCheckUtils]: 54: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,890 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4649#true} {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:06,891 INFO L290 TraceCheckUtils]: 56: Hoare triple {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:18:06,892 INFO L290 TraceCheckUtils]: 57: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:18:06,892 INFO L272 TraceCheckUtils]: 58: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:06,892 INFO L290 TraceCheckUtils]: 59: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:06,892 INFO L290 TraceCheckUtils]: 60: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:06,892 INFO L290 TraceCheckUtils]: 61: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,907 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4649#true} {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:18:06,908 INFO L272 TraceCheckUtils]: 63: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:06,908 INFO L290 TraceCheckUtils]: 64: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:06,908 INFO L290 TraceCheckUtils]: 65: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:06,908 INFO L290 TraceCheckUtils]: 66: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,908 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4649#true} {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:18:06,910 INFO L290 TraceCheckUtils]: 68: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:18:06,910 INFO L290 TraceCheckUtils]: 69: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:18:06,910 INFO L290 TraceCheckUtils]: 70: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:18:06,910 INFO L272 TraceCheckUtils]: 71: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:06,911 INFO L290 TraceCheckUtils]: 72: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:06,911 INFO L290 TraceCheckUtils]: 73: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:06,911 INFO L290 TraceCheckUtils]: 74: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:06,911 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4649#true} {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #93#return; {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:18:06,912 INFO L272 TraceCheckUtils]: 76: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:18:06,912 INFO L290 TraceCheckUtils]: 77: Hoare triple {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:18:06,912 INFO L290 TraceCheckUtils]: 78: Hoare triple {4890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4650#false} is VALID [2022-04-28 06:18:06,913 INFO L290 TraceCheckUtils]: 79: Hoare triple {4650#false} assume !false; {4650#false} is VALID [2022-04-28 06:18:06,913 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-28 06:18:06,913 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:18:14,891 INFO L290 TraceCheckUtils]: 79: Hoare triple {4650#false} assume !false; {4650#false} is VALID [2022-04-28 06:18:14,891 INFO L290 TraceCheckUtils]: 78: Hoare triple {4890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4650#false} is VALID [2022-04-28 06:18:14,898 INFO L290 TraceCheckUtils]: 77: Hoare triple {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:18:14,899 INFO L272 TraceCheckUtils]: 76: Hoare triple {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:18:14,900 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4649#true} {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:18:14,900 INFO L290 TraceCheckUtils]: 74: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,900 INFO L290 TraceCheckUtils]: 73: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:14,900 INFO L290 TraceCheckUtils]: 72: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:14,900 INFO L272 TraceCheckUtils]: 71: Hoare triple {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:14,900 INFO L290 TraceCheckUtils]: 70: Hoare triple {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:18:14,901 INFO L290 TraceCheckUtils]: 69: Hoare triple {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:18:14,912 INFO L290 TraceCheckUtils]: 68: Hoare triple {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:18:14,912 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4649#true} {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #95#return; {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 06:18:14,912 INFO L290 TraceCheckUtils]: 66: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,912 INFO L290 TraceCheckUtils]: 65: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:14,913 INFO L290 TraceCheckUtils]: 64: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:14,913 INFO L272 TraceCheckUtils]: 63: Hoare triple {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:14,913 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4649#true} {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #93#return; {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 06:18:14,913 INFO L290 TraceCheckUtils]: 61: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,913 INFO L290 TraceCheckUtils]: 60: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:14,913 INFO L290 TraceCheckUtils]: 59: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:14,914 INFO L272 TraceCheckUtils]: 58: Hoare triple {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:14,915 INFO L290 TraceCheckUtils]: 57: Hoare triple {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !false; {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 06:18:14,916 INFO L290 TraceCheckUtils]: 56: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 06:18:14,916 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4649#true} {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #91#return; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:18:14,916 INFO L290 TraceCheckUtils]: 54: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,916 INFO L290 TraceCheckUtils]: 53: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:14,916 INFO L290 TraceCheckUtils]: 52: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:14,917 INFO L272 TraceCheckUtils]: 51: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:14,917 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4649#true} {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #89#return; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:18:14,917 INFO L290 TraceCheckUtils]: 49: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,917 INFO L290 TraceCheckUtils]: 48: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:14,917 INFO L290 TraceCheckUtils]: 47: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:14,917 INFO L272 TraceCheckUtils]: 46: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:14,918 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4649#true} {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #87#return; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:18:14,918 INFO L290 TraceCheckUtils]: 44: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,918 INFO L290 TraceCheckUtils]: 43: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:14,918 INFO L290 TraceCheckUtils]: 42: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:14,918 INFO L272 TraceCheckUtils]: 41: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:14,919 INFO L290 TraceCheckUtils]: 40: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !false; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:18:14,923 INFO L290 TraceCheckUtils]: 39: Hoare triple {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:18:14,923 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4649#true} {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:18:14,923 INFO L290 TraceCheckUtils]: 37: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,923 INFO L290 TraceCheckUtils]: 36: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:14,923 INFO L290 TraceCheckUtils]: 35: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:14,924 INFO L272 TraceCheckUtils]: 34: Hoare triple {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:14,924 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4649#true} {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:18:14,924 INFO L290 TraceCheckUtils]: 32: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,924 INFO L290 TraceCheckUtils]: 31: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:14,924 INFO L290 TraceCheckUtils]: 30: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:14,924 INFO L272 TraceCheckUtils]: 29: Hoare triple {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:14,937 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4649#true} {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:18:14,937 INFO L290 TraceCheckUtils]: 27: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,937 INFO L290 TraceCheckUtils]: 26: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:14,937 INFO L290 TraceCheckUtils]: 25: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:14,937 INFO L272 TraceCheckUtils]: 24: Hoare triple {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:14,938 INFO L290 TraceCheckUtils]: 23: Hoare triple {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:18:14,938 INFO L290 TraceCheckUtils]: 22: Hoare triple {4649#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:18:14,938 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4649#true} {4649#true} #85#return; {4649#true} is VALID [2022-04-28 06:18:14,939 INFO L290 TraceCheckUtils]: 20: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,939 INFO L290 TraceCheckUtils]: 19: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:14,939 INFO L290 TraceCheckUtils]: 18: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:14,939 INFO L272 TraceCheckUtils]: 17: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:14,939 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4649#true} {4649#true} #83#return; {4649#true} is VALID [2022-04-28 06:18:14,939 INFO L290 TraceCheckUtils]: 15: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,939 INFO L290 TraceCheckUtils]: 14: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:14,939 INFO L290 TraceCheckUtils]: 13: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:14,939 INFO L272 TraceCheckUtils]: 12: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:14,939 INFO L290 TraceCheckUtils]: 11: Hoare triple {4649#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4649#true} is VALID [2022-04-28 06:18:14,939 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4649#true} {4649#true} #81#return; {4649#true} is VALID [2022-04-28 06:18:14,939 INFO L290 TraceCheckUtils]: 9: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,940 INFO L290 TraceCheckUtils]: 8: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 06:18:14,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 06:18:14,940 INFO L272 TraceCheckUtils]: 6: Hoare triple {4649#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {4649#true} is VALID [2022-04-28 06:18:14,940 INFO L290 TraceCheckUtils]: 5: Hoare triple {4649#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4649#true} is VALID [2022-04-28 06:18:14,940 INFO L272 TraceCheckUtils]: 4: Hoare triple {4649#true} call #t~ret6 := main(); {4649#true} is VALID [2022-04-28 06:18:14,940 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4649#true} {4649#true} #101#return; {4649#true} is VALID [2022-04-28 06:18:14,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 06:18:14,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {4649#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4649#true} is VALID [2022-04-28 06:18:14,940 INFO L272 TraceCheckUtils]: 0: Hoare triple {4649#true} call ULTIMATE.init(); {4649#true} is VALID [2022-04-28 06:18:14,941 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-28 06:18:14,941 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:18:14,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1067342581] [2022-04-28 06:18:14,941 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:18:14,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [712339352] [2022-04-28 06:18:14,941 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [712339352] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:18:14,941 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:18:14,941 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 06:18:14,941 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:18:14,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2013580655] [2022-04-28 06:18:14,941 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2013580655] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:18:14,941 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:18:14,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 06:18:14,942 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1984567352] [2022-04-28 06:18:14,942 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:18:14,942 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 80 [2022-04-28 06:18:14,942 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:18:14,942 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 06:18:14,982 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:18:14,982 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 06:18:14,982 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:18:14,983 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 06:18:14,983 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:18:14,983 INFO L87 Difference]: Start difference. First operand 106 states and 125 transitions. Second operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 06:18:15,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:15,765 INFO L93 Difference]: Finished difference Result 133 states and 159 transitions. [2022-04-28 06:18:15,765 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:18:15,765 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 80 [2022-04-28 06:18:15,765 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:18:15,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 06:18:15,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2022-04-28 06:18:15,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 06:18:15,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2022-04-28 06:18:15,768 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 98 transitions. [2022-04-28 06:18:15,850 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:18:15,852 INFO L225 Difference]: With dead ends: 133 [2022-04-28 06:18:15,852 INFO L226 Difference]: Without dead ends: 110 [2022-04-28 06:18:15,852 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 148 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:18:15,852 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 10 mSDsluCounter, 198 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 251 SdHoareTripleChecker+Invalid, 183 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 06:18:15,853 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 251 Invalid, 183 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 06:18:15,853 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-28 06:18:15,918 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-28 06:18:15,919 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:18:15,919 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:18:15,919 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:18:15,919 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:18:15,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:15,922 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-28 06:18:15,922 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-28 06:18:15,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:18:15,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:18:15,923 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-28 06:18:15,927 INFO L87 Difference]: Start difference. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-28 06:18:15,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:15,930 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-28 06:18:15,930 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-28 06:18:15,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:18:15,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:18:15,931 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:18:15,931 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:18:15,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:18:15,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 126 transitions. [2022-04-28 06:18:15,934 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 126 transitions. Word has length 80 [2022-04-28 06:18:15,936 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:18:15,936 INFO L495 AbstractCegarLoop]: Abstraction has 110 states and 126 transitions. [2022-04-28 06:18:15,937 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 06:18:15,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 126 transitions. [2022-04-28 06:18:16,088 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:18:16,089 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-28 06:18:16,089 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 06:18:16,089 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:18:16,089 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:18:16,111 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-28 06:18:16,305 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:18:16,305 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:18:16,305 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:18:16,306 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-28 06:18:16,306 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:18:16,306 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [473972710] [2022-04-28 06:18:16,306 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:18:16,306 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-28 06:18:16,306 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:18:16,306 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1625551394] [2022-04-28 06:18:16,306 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:18:16,306 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:18:16,315 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:18:16,315 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1465375053] [2022-04-28 06:18:16,315 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:18:16,315 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:18:16,315 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:18:16,321 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:18:16,321 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 06:18:16,365 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:18:16,365 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:18:16,366 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 06:18:16,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:18:16,383 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:18:43,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {5850#true} call ULTIMATE.init(); {5850#true} is VALID [2022-04-28 06:18:43,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {5850#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {5850#true} is VALID [2022-04-28 06:18:43,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5850#true} {5850#true} #101#return; {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {5850#true} call #t~ret6 := main(); {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {5850#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L272 TraceCheckUtils]: 6: Hoare triple {5850#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L290 TraceCheckUtils]: 7: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5850#true} {5850#true} #81#return; {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L290 TraceCheckUtils]: 11: Hoare triple {5850#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L272 TraceCheckUtils]: 12: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L290 TraceCheckUtils]: 13: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L290 TraceCheckUtils]: 14: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:18:43,265 INFO L290 TraceCheckUtils]: 15: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:18:43,266 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5850#true} {5850#true} #83#return; {5850#true} is VALID [2022-04-28 06:18:43,266 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,266 INFO L290 TraceCheckUtils]: 18: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:18:43,266 INFO L290 TraceCheckUtils]: 19: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:18:43,266 INFO L290 TraceCheckUtils]: 20: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:18:43,266 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5850#true} {5850#true} #85#return; {5850#true} is VALID [2022-04-28 06:18:43,276 INFO L290 TraceCheckUtils]: 22: Hoare triple {5850#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 06:18:43,277 INFO L290 TraceCheckUtils]: 23: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} assume !false; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 06:18:43,277 INFO L272 TraceCheckUtils]: 24: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,277 INFO L290 TraceCheckUtils]: 25: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:18:43,277 INFO L290 TraceCheckUtils]: 26: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:18:43,277 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:18:43,278 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5850#true} {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} #87#return; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 06:18:43,278 INFO L272 TraceCheckUtils]: 29: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,278 INFO L290 TraceCheckUtils]: 30: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:18:43,278 INFO L290 TraceCheckUtils]: 31: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:18:43,279 INFO L290 TraceCheckUtils]: 32: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:18:43,279 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5850#true} {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} #89#return; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 06:18:43,279 INFO L272 TraceCheckUtils]: 34: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,280 INFO L290 TraceCheckUtils]: 35: Hoare triple {5850#true} ~cond := #in~cond; {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:18:43,280 INFO L290 TraceCheckUtils]: 36: Hoare triple {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:18:43,280 INFO L290 TraceCheckUtils]: 37: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:18:43,281 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} #91#return; {5972#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:43,282 INFO L290 TraceCheckUtils]: 39: Hoare triple {5972#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:43,283 INFO L290 TraceCheckUtils]: 40: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:43,283 INFO L272 TraceCheckUtils]: 41: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,283 INFO L290 TraceCheckUtils]: 42: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:18:43,283 INFO L290 TraceCheckUtils]: 43: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:18:43,283 INFO L290 TraceCheckUtils]: 44: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:18:43,283 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5850#true} {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #87#return; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:43,284 INFO L272 TraceCheckUtils]: 46: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,284 INFO L290 TraceCheckUtils]: 47: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:18:43,284 INFO L290 TraceCheckUtils]: 48: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:18:43,284 INFO L290 TraceCheckUtils]: 49: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:18:43,284 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5850#true} {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #89#return; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:43,284 INFO L272 TraceCheckUtils]: 51: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,284 INFO L290 TraceCheckUtils]: 52: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:18:43,285 INFO L290 TraceCheckUtils]: 53: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:18:43,285 INFO L290 TraceCheckUtils]: 54: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:18:43,285 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5850#true} {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #91#return; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:43,286 INFO L290 TraceCheckUtils]: 56: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:43,286 INFO L290 TraceCheckUtils]: 57: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:43,286 INFO L272 TraceCheckUtils]: 58: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,286 INFO L290 TraceCheckUtils]: 59: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:18:43,286 INFO L290 TraceCheckUtils]: 60: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:18:43,286 INFO L290 TraceCheckUtils]: 61: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:18:43,287 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5850#true} {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #93#return; {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:43,287 INFO L272 TraceCheckUtils]: 63: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,287 INFO L290 TraceCheckUtils]: 64: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:18:43,287 INFO L290 TraceCheckUtils]: 65: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:18:43,287 INFO L290 TraceCheckUtils]: 66: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:18:43,288 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5850#true} {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #95#return; {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:43,289 INFO L290 TraceCheckUtils]: 68: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6065#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:43,291 INFO L290 TraceCheckUtils]: 69: Hoare triple {6065#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:18:43,291 INFO L290 TraceCheckUtils]: 70: Hoare triple {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} assume !false; {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:18:43,291 INFO L272 TraceCheckUtils]: 71: Hoare triple {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,291 INFO L290 TraceCheckUtils]: 72: Hoare triple {5850#true} ~cond := #in~cond; {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:18:43,292 INFO L290 TraceCheckUtils]: 73: Hoare triple {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:18:43,292 INFO L290 TraceCheckUtils]: 74: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:18:43,300 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} #93#return; {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} is VALID [2022-04-28 06:18:43,300 INFO L272 TraceCheckUtils]: 76: Hoare triple {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:18:43,300 INFO L290 TraceCheckUtils]: 77: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:18:43,300 INFO L290 TraceCheckUtils]: 78: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:18:43,300 INFO L290 TraceCheckUtils]: 79: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:18:43,301 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5850#true} {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} #95#return; {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} is VALID [2022-04-28 06:18:43,302 INFO L290 TraceCheckUtils]: 81: Hoare triple {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} assume !(1 != ~p~0); {6107#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (= main_~q~0 1))} is VALID [2022-04-28 06:18:43,303 INFO L272 TraceCheckUtils]: 82: Hoare triple {6107#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:18:43,304 INFO L290 TraceCheckUtils]: 83: Hoare triple {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6115#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:18:43,304 INFO L290 TraceCheckUtils]: 84: Hoare triple {6115#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5851#false} is VALID [2022-04-28 06:18:43,304 INFO L290 TraceCheckUtils]: 85: Hoare triple {5851#false} assume !false; {5851#false} is VALID [2022-04-28 06:18:43,305 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 45 proven. 32 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 06:18:43,305 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:20:45,732 INFO L290 TraceCheckUtils]: 85: Hoare triple {5851#false} assume !false; {5851#false} is VALID [2022-04-28 06:20:45,733 INFO L290 TraceCheckUtils]: 84: Hoare triple {6115#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5851#false} is VALID [2022-04-28 06:20:45,733 INFO L290 TraceCheckUtils]: 83: Hoare triple {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6115#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:20:45,734 INFO L272 TraceCheckUtils]: 82: Hoare triple {6131#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:20:45,734 INFO L290 TraceCheckUtils]: 81: Hoare triple {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {6131#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 06:20:45,734 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5850#true} {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-28 06:20:45,735 INFO L290 TraceCheckUtils]: 79: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:20:45,735 INFO L290 TraceCheckUtils]: 78: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:20:45,735 INFO L290 TraceCheckUtils]: 77: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:20:45,735 INFO L272 TraceCheckUtils]: 76: Hoare triple {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,735 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} #93#return; {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-28 06:20:45,736 INFO L290 TraceCheckUtils]: 74: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:20:45,736 INFO L290 TraceCheckUtils]: 73: Hoare triple {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:20:45,736 INFO L290 TraceCheckUtils]: 72: Hoare triple {5850#true} ~cond := #in~cond; {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:20:45,736 INFO L272 TraceCheckUtils]: 71: Hoare triple {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,737 INFO L290 TraceCheckUtils]: 70: Hoare triple {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} assume !false; {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} is VALID [2022-04-28 06:20:45,740 INFO L290 TraceCheckUtils]: 69: Hoare triple {6174#(or (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* main_~d~0 (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} is VALID [2022-04-28 06:20:45,745 INFO L290 TraceCheckUtils]: 68: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6174#(or (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* main_~d~0 (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:20:45,745 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5850#true} {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} #95#return; {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} is VALID [2022-04-28 06:20:45,746 INFO L290 TraceCheckUtils]: 66: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:20:45,746 INFO L290 TraceCheckUtils]: 65: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:20:45,746 INFO L290 TraceCheckUtils]: 64: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:20:45,746 INFO L272 TraceCheckUtils]: 63: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,746 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5850#true} {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} #93#return; {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} is VALID [2022-04-28 06:20:45,746 INFO L290 TraceCheckUtils]: 61: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:20:45,746 INFO L290 TraceCheckUtils]: 60: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:20:45,747 INFO L290 TraceCheckUtils]: 59: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:20:45,747 INFO L272 TraceCheckUtils]: 58: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,748 INFO L290 TraceCheckUtils]: 57: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} assume !false; {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} is VALID [2022-04-28 06:20:45,748 INFO L290 TraceCheckUtils]: 56: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} is VALID [2022-04-28 06:20:45,749 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5850#true} {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} #91#return; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:20:45,749 INFO L290 TraceCheckUtils]: 54: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:20:45,749 INFO L290 TraceCheckUtils]: 53: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:20:45,749 INFO L290 TraceCheckUtils]: 52: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:20:45,749 INFO L272 TraceCheckUtils]: 51: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,750 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5850#true} {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} #89#return; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:20:45,750 INFO L290 TraceCheckUtils]: 49: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:20:45,750 INFO L290 TraceCheckUtils]: 48: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:20:45,750 INFO L290 TraceCheckUtils]: 47: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:20:45,750 INFO L272 TraceCheckUtils]: 46: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,751 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5850#true} {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} #87#return; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:20:45,751 INFO L290 TraceCheckUtils]: 44: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:20:45,751 INFO L290 TraceCheckUtils]: 43: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:20:45,751 INFO L290 TraceCheckUtils]: 42: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:20:45,751 INFO L272 TraceCheckUtils]: 41: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,752 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} assume !false; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:20:45,755 INFO L290 TraceCheckUtils]: 39: Hoare triple {6267#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:20:45,756 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {6267#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:20:45,756 INFO L290 TraceCheckUtils]: 37: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:20:45,757 INFO L290 TraceCheckUtils]: 36: Hoare triple {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:20:45,757 INFO L290 TraceCheckUtils]: 35: Hoare triple {5850#true} ~cond := #in~cond; {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:20:45,757 INFO L272 TraceCheckUtils]: 34: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,758 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5850#true} {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:20:45,758 INFO L290 TraceCheckUtils]: 32: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:20:45,758 INFO L290 TraceCheckUtils]: 31: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:20:45,758 INFO L290 TraceCheckUtils]: 30: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:20:45,758 INFO L272 TraceCheckUtils]: 29: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,759 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5850#true} {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:20:45,759 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:20:45,759 INFO L290 TraceCheckUtils]: 26: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:20:45,759 INFO L290 TraceCheckUtils]: 25: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:20:45,759 INFO L272 TraceCheckUtils]: 24: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,759 INFO L290 TraceCheckUtils]: 23: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:20:45,760 INFO L290 TraceCheckUtils]: 22: Hoare triple {5850#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:20:45,760 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5850#true} {5850#true} #85#return; {5850#true} is VALID [2022-04-28 06:20:45,760 INFO L290 TraceCheckUtils]: 20: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:20:45,760 INFO L290 TraceCheckUtils]: 19: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:20:45,760 INFO L290 TraceCheckUtils]: 18: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:20:45,760 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,760 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5850#true} {5850#true} #83#return; {5850#true} is VALID [2022-04-28 06:20:45,760 INFO L290 TraceCheckUtils]: 15: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:20:45,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:20:45,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:20:45,773 INFO L272 TraceCheckUtils]: 12: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,774 INFO L290 TraceCheckUtils]: 11: Hoare triple {5850#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5850#true} is VALID [2022-04-28 06:20:45,774 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5850#true} {5850#true} #81#return; {5850#true} is VALID [2022-04-28 06:20:45,774 INFO L290 TraceCheckUtils]: 9: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:20:45,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 06:20:45,774 INFO L290 TraceCheckUtils]: 7: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 06:20:45,774 INFO L272 TraceCheckUtils]: 6: Hoare triple {5850#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {5850#true} is VALID [2022-04-28 06:20:45,774 INFO L290 TraceCheckUtils]: 5: Hoare triple {5850#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5850#true} is VALID [2022-04-28 06:20:45,774 INFO L272 TraceCheckUtils]: 4: Hoare triple {5850#true} call #t~ret6 := main(); {5850#true} is VALID [2022-04-28 06:20:45,774 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5850#true} {5850#true} #101#return; {5850#true} is VALID [2022-04-28 06:20:45,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 06:20:45,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {5850#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {5850#true} is VALID [2022-04-28 06:20:45,774 INFO L272 TraceCheckUtils]: 0: Hoare triple {5850#true} call ULTIMATE.init(); {5850#true} is VALID [2022-04-28 06:20:45,775 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 45 proven. 32 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 06:20:45,776 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:20:45,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1625551394] [2022-04-28 06:20:45,776 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:20:45,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1465375053] [2022-04-28 06:20:45,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1465375053] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:20:45,776 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:20:45,776 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 23 [2022-04-28 06:20:45,778 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:20:45,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [473972710] [2022-04-28 06:20:45,778 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [473972710] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:20:45,778 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:20:45,778 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 06:20:45,778 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1925723053] [2022-04-28 06:20:45,778 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:20:45,779 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-28 06:20:45,780 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:20:45,780 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:20:45,838 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:45,838 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 06:20:45,838 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:45,839 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 06:20:45,839 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=410, Unknown=0, NotChecked=0, Total=506 [2022-04-28 06:20:45,839 INFO L87 Difference]: Start difference. First operand 110 states and 126 transitions. Second operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:20:48,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:48,793 INFO L93 Difference]: Finished difference Result 116 states and 131 transitions. [2022-04-28 06:20:48,793 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 06:20:48,793 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-28 06:20:48,794 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:20:48,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:20:48,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 79 transitions. [2022-04-28 06:20:48,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:20:48,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 79 transitions. [2022-04-28 06:20:48,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 79 transitions. [2022-04-28 06:20:48,887 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:48,888 INFO L225 Difference]: With dead ends: 116 [2022-04-28 06:20:48,888 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 06:20:48,889 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 149 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 109 ImplicationChecksByTransitivity, 7.4s TimeCoverageRelationStatistics Valid=135, Invalid=567, Unknown=0, NotChecked=0, Total=702 [2022-04-28 06:20:48,889 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 17 mSDsluCounter, 162 mSDsCounter, 0 mSdLazyCounter, 337 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 352 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 337 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 06:20:48,889 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 198 Invalid, 352 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 337 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 06:20:48,890 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 06:20:48,929 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 88. [2022-04-28 06:20:48,929 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:20:48,930 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 06:20:48,930 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 06:20:48,930 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 06:20:48,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:48,932 INFO L93 Difference]: Finished difference Result 88 states and 102 transitions. [2022-04-28 06:20:48,932 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-28 06:20:48,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:48,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:48,932 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) Second operand 88 states. [2022-04-28 06:20:48,932 INFO L87 Difference]: Start difference. First operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) Second operand 88 states. [2022-04-28 06:20:48,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:48,934 INFO L93 Difference]: Finished difference Result 88 states and 102 transitions. [2022-04-28 06:20:48,934 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-28 06:20:48,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:48,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:48,934 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:20:48,934 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:20:48,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 06:20:48,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 102 transitions. [2022-04-28 06:20:48,936 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 102 transitions. Word has length 86 [2022-04-28 06:20:48,936 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:20:48,936 INFO L495 AbstractCegarLoop]: Abstraction has 88 states and 102 transitions. [2022-04-28 06:20:48,936 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:20:48,936 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 102 transitions. [2022-04-28 06:20:49,048 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:49,049 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-28 06:20:49,049 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 06:20:49,049 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:20:49,049 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:20:49,065 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 06:20:49,255 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:20:49,255 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:20:49,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:20:49,256 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 5 times [2022-04-28 06:20:49,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:49,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1395957062] [2022-04-28 06:20:49,256 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:20:49,256 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 6 times [2022-04-28 06:20:49,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:20:49,256 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [595063523] [2022-04-28 06:20:49,256 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:20:49,257 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:20:49,270 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:20:49,270 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1209856021] [2022-04-28 06:20:49,270 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:20:49,270 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:20:49,270 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:20:49,277 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:20:49,282 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 06:20:49,323 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 06:20:49,324 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:20:49,324 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 06:20:49,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:20:49,346 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:22:06,572 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:22:08,992 INFO L272 TraceCheckUtils]: 0: Hoare triple {6980#true} call ULTIMATE.init(); {6980#true} is VALID [2022-04-28 06:22:08,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {6980#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6980#true} is VALID [2022-04-28 06:22:08,993 INFO L290 TraceCheckUtils]: 2: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:08,993 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6980#true} {6980#true} #101#return; {6980#true} is VALID [2022-04-28 06:22:08,993 INFO L272 TraceCheckUtils]: 4: Hoare triple {6980#true} call #t~ret6 := main(); {6980#true} is VALID [2022-04-28 06:22:08,993 INFO L290 TraceCheckUtils]: 5: Hoare triple {6980#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {6980#true} is VALID [2022-04-28 06:22:08,993 INFO L272 TraceCheckUtils]: 6: Hoare triple {6980#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:08,993 INFO L290 TraceCheckUtils]: 7: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:08,993 INFO L290 TraceCheckUtils]: 8: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:08,993 INFO L290 TraceCheckUtils]: 9: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:08,994 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6980#true} {6980#true} #81#return; {6980#true} is VALID [2022-04-28 06:22:08,994 INFO L290 TraceCheckUtils]: 11: Hoare triple {6980#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6980#true} is VALID [2022-04-28 06:22:08,994 INFO L272 TraceCheckUtils]: 12: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:08,994 INFO L290 TraceCheckUtils]: 13: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:08,994 INFO L290 TraceCheckUtils]: 14: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:08,994 INFO L290 TraceCheckUtils]: 15: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:08,994 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6980#true} {6980#true} #83#return; {6980#true} is VALID [2022-04-28 06:22:08,994 INFO L272 TraceCheckUtils]: 17: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:08,994 INFO L290 TraceCheckUtils]: 18: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:08,994 INFO L290 TraceCheckUtils]: 19: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:08,994 INFO L290 TraceCheckUtils]: 20: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:08,994 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6980#true} {6980#true} #85#return; {6980#true} is VALID [2022-04-28 06:22:08,995 INFO L290 TraceCheckUtils]: 22: Hoare triple {6980#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:08,995 INFO L290 TraceCheckUtils]: 23: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:08,995 INFO L272 TraceCheckUtils]: 24: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:08,995 INFO L290 TraceCheckUtils]: 25: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:08,995 INFO L290 TraceCheckUtils]: 26: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:08,996 INFO L290 TraceCheckUtils]: 27: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:08,996 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:08,996 INFO L272 TraceCheckUtils]: 29: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:08,996 INFO L290 TraceCheckUtils]: 30: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:08,996 INFO L290 TraceCheckUtils]: 31: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:08,996 INFO L290 TraceCheckUtils]: 32: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:08,997 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:08,997 INFO L272 TraceCheckUtils]: 34: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:08,997 INFO L290 TraceCheckUtils]: 35: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:08,997 INFO L290 TraceCheckUtils]: 36: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:08,997 INFO L290 TraceCheckUtils]: 37: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:08,998 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:08,998 INFO L290 TraceCheckUtils]: 39: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:08,998 INFO L290 TraceCheckUtils]: 40: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:08,999 INFO L272 TraceCheckUtils]: 41: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:08,999 INFO L290 TraceCheckUtils]: 42: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:08,999 INFO L290 TraceCheckUtils]: 43: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:08,999 INFO L290 TraceCheckUtils]: 44: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:08,999 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:08,999 INFO L272 TraceCheckUtils]: 46: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:08,999 INFO L290 TraceCheckUtils]: 47: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:08,999 INFO L290 TraceCheckUtils]: 48: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:09,000 INFO L290 TraceCheckUtils]: 49: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:09,000 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,000 INFO L272 TraceCheckUtils]: 51: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:09,000 INFO L290 TraceCheckUtils]: 52: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:09,000 INFO L290 TraceCheckUtils]: 53: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:09,000 INFO L290 TraceCheckUtils]: 54: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:09,001 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,002 INFO L290 TraceCheckUtils]: 56: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,002 INFO L290 TraceCheckUtils]: 57: Hoare triple {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,002 INFO L272 TraceCheckUtils]: 58: Hoare triple {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:09,003 INFO L290 TraceCheckUtils]: 59: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:09,003 INFO L290 TraceCheckUtils]: 60: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:09,003 INFO L290 TraceCheckUtils]: 61: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:09,003 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6980#true} {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,003 INFO L272 TraceCheckUtils]: 63: Hoare triple {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:09,003 INFO L290 TraceCheckUtils]: 64: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:09,004 INFO L290 TraceCheckUtils]: 65: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:09,004 INFO L290 TraceCheckUtils]: 66: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:09,004 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6980#true} {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,004 INFO L272 TraceCheckUtils]: 68: Hoare triple {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:09,004 INFO L290 TraceCheckUtils]: 69: Hoare triple {6980#true} ~cond := #in~cond; {7194#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:22:09,005 INFO L290 TraceCheckUtils]: 70: Hoare triple {7194#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:22:09,005 INFO L290 TraceCheckUtils]: 71: Hoare triple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:22:09,006 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,006 INFO L290 TraceCheckUtils]: 73: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,007 INFO L290 TraceCheckUtils]: 74: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,007 INFO L272 TraceCheckUtils]: 75: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:09,007 INFO L290 TraceCheckUtils]: 76: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:09,007 INFO L290 TraceCheckUtils]: 77: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:09,007 INFO L290 TraceCheckUtils]: 78: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:09,008 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6980#true} {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #93#return; {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,008 INFO L272 TraceCheckUtils]: 80: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:22:09,008 INFO L290 TraceCheckUtils]: 81: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:22:09,008 INFO L290 TraceCheckUtils]: 82: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:22:09,008 INFO L290 TraceCheckUtils]: 83: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:22:09,009 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6980#true} {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #95#return; {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,013 INFO L290 TraceCheckUtils]: 85: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7245#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,016 INFO L290 TraceCheckUtils]: 86: Hoare triple {7245#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:22:09,016 INFO L290 TraceCheckUtils]: 87: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:22:09,017 INFO L272 TraceCheckUtils]: 88: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:22:09,017 INFO L290 TraceCheckUtils]: 89: Hoare triple {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7260#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:22:09,018 INFO L290 TraceCheckUtils]: 90: Hoare triple {7260#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6981#false} is VALID [2022-04-28 06:22:09,018 INFO L290 TraceCheckUtils]: 91: Hoare triple {6981#false} assume !false; {6981#false} is VALID [2022-04-28 06:22:09,018 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 55 proven. 9 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-28 06:22:09,018 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:23:03,584 WARN L232 SmtUtils]: Spent 28.91s on a formula simplification that was a NOOP. DAG size: 51 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 06:24:04,023 INFO L290 TraceCheckUtils]: 91: Hoare triple {6981#false} assume !false; {6981#false} is VALID [2022-04-28 06:24:04,024 INFO L290 TraceCheckUtils]: 90: Hoare triple {7260#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6981#false} is VALID [2022-04-28 06:24:04,024 INFO L290 TraceCheckUtils]: 89: Hoare triple {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7260#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:24:04,024 INFO L272 TraceCheckUtils]: 88: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:24:04,025 INFO L290 TraceCheckUtils]: 87: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:04,027 INFO L290 TraceCheckUtils]: 86: Hoare triple {7282#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:04,037 INFO L290 TraceCheckUtils]: 85: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7282#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} is VALID [2022-04-28 06:24:04,038 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6980#true} {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} #95#return; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-28 06:24:04,038 INFO L290 TraceCheckUtils]: 83: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,038 INFO L290 TraceCheckUtils]: 82: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,038 INFO L290 TraceCheckUtils]: 81: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,038 INFO L272 TraceCheckUtils]: 80: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,039 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6980#true} {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} #93#return; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-28 06:24:04,039 INFO L290 TraceCheckUtils]: 78: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,039 INFO L290 TraceCheckUtils]: 77: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,039 INFO L290 TraceCheckUtils]: 76: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,039 INFO L272 TraceCheckUtils]: 75: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,040 INFO L290 TraceCheckUtils]: 74: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} assume !false; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-28 06:24:04,041 INFO L290 TraceCheckUtils]: 73: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} assume !(~r~0 >= ~d~0); {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-28 06:24:04,043 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} #91#return; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-28 06:24:04,043 INFO L290 TraceCheckUtils]: 71: Hoare triple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:24:04,043 INFO L290 TraceCheckUtils]: 70: Hoare triple {7336#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:24:04,044 INFO L290 TraceCheckUtils]: 69: Hoare triple {6980#true} ~cond := #in~cond; {7336#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:24:04,044 INFO L272 TraceCheckUtils]: 68: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,044 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6980#true} {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} #89#return; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-28 06:24:04,044 INFO L290 TraceCheckUtils]: 66: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,044 INFO L290 TraceCheckUtils]: 65: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,044 INFO L290 TraceCheckUtils]: 64: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,044 INFO L272 TraceCheckUtils]: 63: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,045 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6980#true} {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} #87#return; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-28 06:24:04,045 INFO L290 TraceCheckUtils]: 61: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,045 INFO L290 TraceCheckUtils]: 60: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,045 INFO L290 TraceCheckUtils]: 59: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,045 INFO L272 TraceCheckUtils]: 58: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,047 INFO L290 TraceCheckUtils]: 57: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} assume !false; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-28 06:24:04,051 INFO L290 TraceCheckUtils]: 56: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-28 06:24:04,051 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:04,051 INFO L290 TraceCheckUtils]: 54: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,051 INFO L290 TraceCheckUtils]: 53: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,052 INFO L290 TraceCheckUtils]: 52: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,052 INFO L272 TraceCheckUtils]: 51: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,052 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:04,052 INFO L290 TraceCheckUtils]: 49: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,052 INFO L290 TraceCheckUtils]: 48: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,052 INFO L290 TraceCheckUtils]: 47: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,052 INFO L272 TraceCheckUtils]: 46: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,053 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:04,053 INFO L290 TraceCheckUtils]: 44: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,053 INFO L290 TraceCheckUtils]: 43: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,053 INFO L290 TraceCheckUtils]: 42: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,053 INFO L272 TraceCheckUtils]: 41: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,053 INFO L290 TraceCheckUtils]: 40: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:04,054 INFO L290 TraceCheckUtils]: 39: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:04,054 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:04,054 INFO L290 TraceCheckUtils]: 37: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,054 INFO L290 TraceCheckUtils]: 36: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,054 INFO L290 TraceCheckUtils]: 35: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,054 INFO L272 TraceCheckUtils]: 34: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,055 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:04,055 INFO L290 TraceCheckUtils]: 32: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,055 INFO L290 TraceCheckUtils]: 31: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,055 INFO L290 TraceCheckUtils]: 30: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,055 INFO L272 TraceCheckUtils]: 29: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,056 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:04,056 INFO L290 TraceCheckUtils]: 27: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,056 INFO L290 TraceCheckUtils]: 26: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,056 INFO L290 TraceCheckUtils]: 25: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,056 INFO L272 TraceCheckUtils]: 24: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,056 INFO L290 TraceCheckUtils]: 23: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:04,056 INFO L290 TraceCheckUtils]: 22: Hoare triple {6980#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:04,057 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6980#true} {6980#true} #85#return; {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L290 TraceCheckUtils]: 20: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L290 TraceCheckUtils]: 19: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L290 TraceCheckUtils]: 18: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L272 TraceCheckUtils]: 17: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6980#true} {6980#true} #83#return; {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L290 TraceCheckUtils]: 15: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L290 TraceCheckUtils]: 14: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L290 TraceCheckUtils]: 13: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L272 TraceCheckUtils]: 12: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L290 TraceCheckUtils]: 11: Hoare triple {6980#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6980#true} {6980#true} #81#return; {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L290 TraceCheckUtils]: 9: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 06:24:04,058 INFO L290 TraceCheckUtils]: 7: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 06:24:04,058 INFO L272 TraceCheckUtils]: 6: Hoare triple {6980#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {6980#true} is VALID [2022-04-28 06:24:04,058 INFO L290 TraceCheckUtils]: 5: Hoare triple {6980#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {6980#true} is VALID [2022-04-28 06:24:04,058 INFO L272 TraceCheckUtils]: 4: Hoare triple {6980#true} call #t~ret6 := main(); {6980#true} is VALID [2022-04-28 06:24:04,058 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6980#true} {6980#true} #101#return; {6980#true} is VALID [2022-04-28 06:24:04,058 INFO L290 TraceCheckUtils]: 2: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 06:24:04,058 INFO L290 TraceCheckUtils]: 1: Hoare triple {6980#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6980#true} is VALID [2022-04-28 06:24:04,058 INFO L272 TraceCheckUtils]: 0: Hoare triple {6980#true} call ULTIMATE.init(); {6980#true} is VALID [2022-04-28 06:24:04,058 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 45 proven. 19 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-28 06:24:04,059 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:24:04,059 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [595063523] [2022-04-28 06:24:04,059 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:24:04,059 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1209856021] [2022-04-28 06:24:04,059 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1209856021] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:24:04,059 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:24:04,059 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-28 06:24:04,059 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:24:04,059 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1395957062] [2022-04-28 06:24:04,059 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1395957062] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:24:04,059 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:24:04,060 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 06:24:04,060 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1546999374] [2022-04-28 06:24:04,060 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:24:04,060 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 92 [2022-04-28 06:24:04,060 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:24:04,060 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:24:04,105 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:04,105 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 06:24:04,105 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:24:04,106 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 06:24:04,106 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=163, Unknown=1, NotChecked=0, Total=210 [2022-04-28 06:24:04,106 INFO L87 Difference]: Start difference. First operand 88 states and 102 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:24:08,312 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:24:12,047 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:24:14,059 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:24:15,198 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.09s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:24:20,539 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:24:22,554 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:24:22,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:22,882 INFO L93 Difference]: Finished difference Result 112 states and 130 transitions. [2022-04-28 06:24:22,882 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 06:24:22,883 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 92 [2022-04-28 06:24:22,883 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:24:22,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:24:22,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-28 06:24:22,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:24:22,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-28 06:24:22,886 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 92 transitions. [2022-04-28 06:24:22,995 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:22,997 INFO L225 Difference]: With dead ends: 112 [2022-04-28 06:24:22,997 INFO L226 Difference]: Without dead ends: 100 [2022-04-28 06:24:22,997 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 167 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 37.8s TimeCoverageRelationStatistics Valid=59, Invalid=212, Unknown=1, NotChecked=0, Total=272 [2022-04-28 06:24:22,998 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 28 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 259 mSolverCounterSat, 34 mSolverCounterUnsat, 5 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 11.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 259 IncrementalHoareTripleChecker+Invalid, 5 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 11.8s IncrementalHoareTripleChecker+Time [2022-04-28 06:24:22,998 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [40 Valid, 160 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 259 Invalid, 5 Unknown, 0 Unchecked, 11.8s Time] [2022-04-28 06:24:22,998 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-28 06:24:23,044 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 99. [2022-04-28 06:24:23,044 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:24:23,044 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 06:24:23,045 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 06:24:23,045 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 06:24:23,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:23,047 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-28 06:24:23,047 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-28 06:24:23,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:23,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:23,047 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) Second operand 100 states. [2022-04-28 06:24:23,047 INFO L87 Difference]: Start difference. First operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) Second operand 100 states. [2022-04-28 06:24:23,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:23,049 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-28 06:24:23,049 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-28 06:24:23,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:23,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:23,049 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:24:23,049 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:24:23,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 06:24:23,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 116 transitions. [2022-04-28 06:24:23,051 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 116 transitions. Word has length 92 [2022-04-28 06:24:23,051 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:24:23,051 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 116 transitions. [2022-04-28 06:24:23,052 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:24:23,052 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 116 transitions. [2022-04-28 06:24:23,217 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:23,217 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 116 transitions. [2022-04-28 06:24:23,223 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-28 06:24:23,223 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:24:23,223 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:24:23,241 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 06:24:23,435 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 06:24:23,435 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:24:23,436 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:24:23,436 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 7 times [2022-04-28 06:24:23,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:24:23,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1134577662] [2022-04-28 06:24:23,436 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:24:23,436 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 8 times [2022-04-28 06:24:23,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:24:23,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1904760698] [2022-04-28 06:24:23,436 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:24:23,437 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:24:23,445 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:24:23,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1776700693] [2022-04-28 06:24:23,445 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:24:23,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:24:23,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:24:23,446 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:24:23,450 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 06:24:23,531 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:24:23,532 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:24:23,533 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 06:24:23,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:24:23,553 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:24:25,562 INFO L272 TraceCheckUtils]: 0: Hoare triple {8172#true} call ULTIMATE.init(); {8172#true} is VALID [2022-04-28 06:24:25,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {8172#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8172#true} is VALID [2022-04-28 06:24:25,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,563 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8172#true} {8172#true} #101#return; {8172#true} is VALID [2022-04-28 06:24:25,563 INFO L272 TraceCheckUtils]: 4: Hoare triple {8172#true} call #t~ret6 := main(); {8172#true} is VALID [2022-04-28 06:24:25,563 INFO L290 TraceCheckUtils]: 5: Hoare triple {8172#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {8172#true} is VALID [2022-04-28 06:24:25,563 INFO L272 TraceCheckUtils]: 6: Hoare triple {8172#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,563 INFO L290 TraceCheckUtils]: 7: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,563 INFO L290 TraceCheckUtils]: 8: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,563 INFO L290 TraceCheckUtils]: 9: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,563 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8172#true} {8172#true} #81#return; {8172#true} is VALID [2022-04-28 06:24:25,563 INFO L290 TraceCheckUtils]: 11: Hoare triple {8172#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8172#true} is VALID [2022-04-28 06:24:25,564 INFO L272 TraceCheckUtils]: 12: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,564 INFO L290 TraceCheckUtils]: 15: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,564 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8172#true} {8172#true} #83#return; {8172#true} is VALID [2022-04-28 06:24:25,564 INFO L272 TraceCheckUtils]: 17: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,564 INFO L290 TraceCheckUtils]: 18: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,564 INFO L290 TraceCheckUtils]: 20: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,564 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8172#true} {8172#true} #85#return; {8172#true} is VALID [2022-04-28 06:24:25,565 INFO L290 TraceCheckUtils]: 22: Hoare triple {8172#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-28 06:24:25,565 INFO L290 TraceCheckUtils]: 23: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} assume !false; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-28 06:24:25,566 INFO L272 TraceCheckUtils]: 24: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,566 INFO L290 TraceCheckUtils]: 25: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,566 INFO L290 TraceCheckUtils]: 26: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,566 INFO L290 TraceCheckUtils]: 27: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,566 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8172#true} {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} #87#return; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-28 06:24:25,566 INFO L272 TraceCheckUtils]: 29: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,566 INFO L290 TraceCheckUtils]: 30: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,566 INFO L290 TraceCheckUtils]: 31: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,567 INFO L290 TraceCheckUtils]: 32: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,567 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8172#true} {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} #89#return; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-28 06:24:25,567 INFO L272 TraceCheckUtils]: 34: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,567 INFO L290 TraceCheckUtils]: 35: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,567 INFO L290 TraceCheckUtils]: 36: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,567 INFO L290 TraceCheckUtils]: 37: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,568 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8172#true} {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} #91#return; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-28 06:24:25,569 INFO L290 TraceCheckUtils]: 39: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-28 06:24:25,569 INFO L290 TraceCheckUtils]: 40: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} assume !false; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-28 06:24:25,569 INFO L272 TraceCheckUtils]: 41: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,569 INFO L290 TraceCheckUtils]: 42: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,569 INFO L290 TraceCheckUtils]: 43: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,569 INFO L290 TraceCheckUtils]: 44: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,570 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8172#true} {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} #87#return; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-28 06:24:25,570 INFO L272 TraceCheckUtils]: 46: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,570 INFO L290 TraceCheckUtils]: 47: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,570 INFO L290 TraceCheckUtils]: 48: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,570 INFO L290 TraceCheckUtils]: 49: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,571 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8172#true} {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} #89#return; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-28 06:24:25,571 INFO L272 TraceCheckUtils]: 51: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,571 INFO L290 TraceCheckUtils]: 52: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,571 INFO L290 TraceCheckUtils]: 53: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,571 INFO L290 TraceCheckUtils]: 54: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,571 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8172#true} {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} #91#return; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-28 06:24:25,572 INFO L290 TraceCheckUtils]: 56: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-28 06:24:25,573 INFO L290 TraceCheckUtils]: 57: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} assume !false; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-28 06:24:25,573 INFO L272 TraceCheckUtils]: 58: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,573 INFO L290 TraceCheckUtils]: 59: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,573 INFO L290 TraceCheckUtils]: 60: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,573 INFO L290 TraceCheckUtils]: 61: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,573 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8172#true} {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} #87#return; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-28 06:24:25,573 INFO L272 TraceCheckUtils]: 63: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,574 INFO L290 TraceCheckUtils]: 64: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,574 INFO L290 TraceCheckUtils]: 65: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,574 INFO L290 TraceCheckUtils]: 66: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,574 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8172#true} {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} #89#return; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-28 06:24:25,574 INFO L272 TraceCheckUtils]: 68: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,574 INFO L290 TraceCheckUtils]: 69: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,574 INFO L290 TraceCheckUtils]: 70: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,574 INFO L290 TraceCheckUtils]: 71: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,578 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8172#true} {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} #91#return; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-28 06:24:25,579 INFO L290 TraceCheckUtils]: 73: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 06:24:25,579 INFO L290 TraceCheckUtils]: 74: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume !false; {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 06:24:25,579 INFO L272 TraceCheckUtils]: 75: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,579 INFO L290 TraceCheckUtils]: 76: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,579 INFO L290 TraceCheckUtils]: 77: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,579 INFO L290 TraceCheckUtils]: 78: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,580 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8172#true} {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} #93#return; {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 06:24:25,580 INFO L272 TraceCheckUtils]: 80: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,580 INFO L290 TraceCheckUtils]: 81: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,580 INFO L290 TraceCheckUtils]: 82: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,580 INFO L290 TraceCheckUtils]: 83: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,581 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8172#true} {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} #95#return; {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 06:24:25,581 INFO L290 TraceCheckUtils]: 85: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 06:24:25,582 INFO L290 TraceCheckUtils]: 86: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 06:24:25,582 INFO L290 TraceCheckUtils]: 87: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume !false; {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 06:24:25,582 INFO L272 TraceCheckUtils]: 88: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:25,582 INFO L290 TraceCheckUtils]: 89: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:25,583 INFO L290 TraceCheckUtils]: 90: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:25,583 INFO L290 TraceCheckUtils]: 91: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:25,583 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8172#true} {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} #93#return; {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 06:24:25,584 INFO L272 TraceCheckUtils]: 93: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:24:25,584 INFO L290 TraceCheckUtils]: 94: Hoare triple {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:24:25,584 INFO L290 TraceCheckUtils]: 95: Hoare triple {8465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8173#false} is VALID [2022-04-28 06:24:25,584 INFO L290 TraceCheckUtils]: 96: Hoare triple {8173#false} assume !false; {8173#false} is VALID [2022-04-28 06:24:25,585 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-28 06:24:25,585 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:24:29,377 INFO L290 TraceCheckUtils]: 96: Hoare triple {8173#false} assume !false; {8173#false} is VALID [2022-04-28 06:24:29,378 INFO L290 TraceCheckUtils]: 95: Hoare triple {8465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8173#false} is VALID [2022-04-28 06:24:29,378 INFO L290 TraceCheckUtils]: 94: Hoare triple {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:24:29,379 INFO L272 TraceCheckUtils]: 93: Hoare triple {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:24:29,379 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8172#true} {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:29,379 INFO L290 TraceCheckUtils]: 91: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,379 INFO L290 TraceCheckUtils]: 90: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,379 INFO L290 TraceCheckUtils]: 89: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,380 INFO L272 TraceCheckUtils]: 88: Hoare triple {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,380 INFO L290 TraceCheckUtils]: 87: Hoare triple {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:29,380 INFO L290 TraceCheckUtils]: 86: Hoare triple {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:29,398 INFO L290 TraceCheckUtils]: 85: Hoare triple {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:29,399 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8172#true} {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #95#return; {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:24:29,399 INFO L290 TraceCheckUtils]: 83: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,399 INFO L290 TraceCheckUtils]: 82: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,399 INFO L290 TraceCheckUtils]: 81: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,399 INFO L272 TraceCheckUtils]: 80: Hoare triple {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,400 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8172#true} {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #93#return; {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:24:29,400 INFO L290 TraceCheckUtils]: 78: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,400 INFO L290 TraceCheckUtils]: 77: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,400 INFO L290 TraceCheckUtils]: 76: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,400 INFO L272 TraceCheckUtils]: 75: Hoare triple {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,401 INFO L290 TraceCheckUtils]: 74: Hoare triple {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !false; {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:24:29,402 INFO L290 TraceCheckUtils]: 73: Hoare triple {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !(~r~0 >= ~d~0); {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:24:29,402 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8172#true} {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #91#return; {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:24:29,402 INFO L290 TraceCheckUtils]: 71: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,402 INFO L290 TraceCheckUtils]: 70: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,403 INFO L290 TraceCheckUtils]: 69: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,403 INFO L272 TraceCheckUtils]: 68: Hoare triple {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,403 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8172#true} {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #89#return; {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:24:29,403 INFO L290 TraceCheckUtils]: 66: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,403 INFO L290 TraceCheckUtils]: 65: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,403 INFO L290 TraceCheckUtils]: 64: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,403 INFO L272 TraceCheckUtils]: 63: Hoare triple {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,404 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8172#true} {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #87#return; {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:24:29,404 INFO L290 TraceCheckUtils]: 61: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,404 INFO L290 TraceCheckUtils]: 60: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,404 INFO L290 TraceCheckUtils]: 59: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,404 INFO L272 TraceCheckUtils]: 58: Hoare triple {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,405 INFO L290 TraceCheckUtils]: 57: Hoare triple {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !false; {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:24:29,409 INFO L290 TraceCheckUtils]: 56: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:24:29,409 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8172#true} {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:29,409 INFO L290 TraceCheckUtils]: 54: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,409 INFO L290 TraceCheckUtils]: 53: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,409 INFO L290 TraceCheckUtils]: 52: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,409 INFO L272 TraceCheckUtils]: 51: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,410 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8172#true} {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:29,410 INFO L290 TraceCheckUtils]: 49: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,410 INFO L290 TraceCheckUtils]: 48: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,410 INFO L290 TraceCheckUtils]: 47: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,410 INFO L272 TraceCheckUtils]: 46: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,411 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8172#true} {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:29,411 INFO L290 TraceCheckUtils]: 44: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,411 INFO L290 TraceCheckUtils]: 43: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,411 INFO L290 TraceCheckUtils]: 42: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,411 INFO L272 TraceCheckUtils]: 41: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,411 INFO L290 TraceCheckUtils]: 40: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:29,413 INFO L290 TraceCheckUtils]: 39: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:29,413 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8172#true} {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} #91#return; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:24:29,413 INFO L290 TraceCheckUtils]: 37: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,413 INFO L290 TraceCheckUtils]: 36: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,414 INFO L290 TraceCheckUtils]: 35: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,414 INFO L272 TraceCheckUtils]: 34: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,414 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8172#true} {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} #89#return; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:24:29,414 INFO L290 TraceCheckUtils]: 32: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,414 INFO L290 TraceCheckUtils]: 31: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,414 INFO L290 TraceCheckUtils]: 30: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,414 INFO L272 TraceCheckUtils]: 29: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,415 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8172#true} {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} #87#return; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:24:29,415 INFO L290 TraceCheckUtils]: 27: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,415 INFO L290 TraceCheckUtils]: 26: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,415 INFO L290 TraceCheckUtils]: 25: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,415 INFO L272 TraceCheckUtils]: 24: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,416 INFO L290 TraceCheckUtils]: 23: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} assume !false; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:24:29,416 INFO L290 TraceCheckUtils]: 22: Hoare triple {8172#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:24:29,416 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8172#true} {8172#true} #85#return; {8172#true} is VALID [2022-04-28 06:24:29,416 INFO L290 TraceCheckUtils]: 20: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,416 INFO L290 TraceCheckUtils]: 19: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,416 INFO L290 TraceCheckUtils]: 18: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,416 INFO L272 TraceCheckUtils]: 17: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,416 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8172#true} {8172#true} #83#return; {8172#true} is VALID [2022-04-28 06:24:29,416 INFO L290 TraceCheckUtils]: 15: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L272 TraceCheckUtils]: 12: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L290 TraceCheckUtils]: 11: Hoare triple {8172#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8172#true} {8172#true} #81#return; {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L272 TraceCheckUtils]: 6: Hoare triple {8172#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L290 TraceCheckUtils]: 5: Hoare triple {8172#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L272 TraceCheckUtils]: 4: Hoare triple {8172#true} call #t~ret6 := main(); {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8172#true} {8172#true} #101#return; {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L290 TraceCheckUtils]: 2: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 06:24:29,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {8172#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8172#true} is VALID [2022-04-28 06:24:29,418 INFO L272 TraceCheckUtils]: 0: Hoare triple {8172#true} call ULTIMATE.init(); {8172#true} is VALID [2022-04-28 06:24:29,418 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-28 06:24:29,418 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:24:29,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1904760698] [2022-04-28 06:24:29,418 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:24:29,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1776700693] [2022-04-28 06:24:29,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1776700693] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:24:29,418 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:24:29,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 06:24:29,419 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:24:29,419 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1134577662] [2022-04-28 06:24:29,419 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1134577662] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:24:29,419 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:24:29,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 06:24:29,419 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1839996782] [2022-04-28 06:24:29,419 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:24:29,420 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 97 [2022-04-28 06:24:29,420 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:24:29,420 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 06:24:29,473 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:29,474 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 06:24:29,474 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:24:29,474 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 06:24:29,474 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=131, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:24:29,474 INFO L87 Difference]: Start difference. First operand 99 states and 116 transitions. Second operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 06:24:30,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:30,863 INFO L93 Difference]: Finished difference Result 177 states and 223 transitions. [2022-04-28 06:24:30,863 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:24:30,863 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 97 [2022-04-28 06:24:30,863 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:24:30,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 06:24:30,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 116 transitions. [2022-04-28 06:24:30,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 06:24:30,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 116 transitions. [2022-04-28 06:24:30,866 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 116 transitions. [2022-04-28 06:24:30,986 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:30,988 INFO L225 Difference]: With dead ends: 177 [2022-04-28 06:24:30,988 INFO L226 Difference]: Without dead ends: 138 [2022-04-28 06:24:30,989 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 196 GetRequests, 180 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=73, Invalid=199, Unknown=0, NotChecked=0, Total=272 [2022-04-28 06:24:30,989 INFO L413 NwaCegarLoop]: 62 mSDtfsCounter, 13 mSDsluCounter, 244 mSDsCounter, 0 mSdLazyCounter, 292 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 306 SdHoareTripleChecker+Invalid, 309 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 292 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 06:24:30,989 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 306 Invalid, 309 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 292 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 06:24:30,990 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-04-28 06:24:31,097 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 138. [2022-04-28 06:24:31,097 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:24:31,097 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 06:24:31,097 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 06:24:31,098 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 06:24:31,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:31,100 INFO L93 Difference]: Finished difference Result 138 states and 167 transitions. [2022-04-28 06:24:31,100 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-28 06:24:31,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:31,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:31,101 INFO L74 IsIncluded]: Start isIncluded. First operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 138 states. [2022-04-28 06:24:31,101 INFO L87 Difference]: Start difference. First operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 138 states. [2022-04-28 06:24:31,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:31,104 INFO L93 Difference]: Finished difference Result 138 states and 167 transitions. [2022-04-28 06:24:31,104 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-28 06:24:31,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:31,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:31,104 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:24:31,104 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:24:31,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 06:24:31,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 167 transitions. [2022-04-28 06:24:31,107 INFO L78 Accepts]: Start accepts. Automaton has 138 states and 167 transitions. Word has length 97 [2022-04-28 06:24:31,107 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:24:31,107 INFO L495 AbstractCegarLoop]: Abstraction has 138 states and 167 transitions. [2022-04-28 06:24:31,107 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 06:24:31,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 138 states and 167 transitions. [2022-04-28 06:24:31,342 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:31,342 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-28 06:24:31,342 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 06:24:31,342 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:24:31,343 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:24:31,379 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-28 06:24:31,543 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:24:31,543 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:24:31,544 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:24:31,544 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 9 times [2022-04-28 06:24:31,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:24:31,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [634796537] [2022-04-28 06:24:31,544 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:24:31,544 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 10 times [2022-04-28 06:24:31,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:24:31,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [824355633] [2022-04-28 06:24:31,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:24:31,545 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:24:31,553 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:24:31,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2092196637] [2022-04-28 06:24:31,554 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:24:31,554 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:24:31,554 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:24:31,555 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:24:31,556 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 06:24:31,603 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:24:31,603 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:24:31,604 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 06:24:31,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:24:31,623 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:25:08,007 INFO L272 TraceCheckUtils]: 0: Hoare triple {9679#true} call ULTIMATE.init(); {9679#true} is VALID [2022-04-28 06:25:08,007 INFO L290 TraceCheckUtils]: 1: Hoare triple {9679#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {9679#true} is VALID [2022-04-28 06:25:08,007 INFO L290 TraceCheckUtils]: 2: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,007 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9679#true} {9679#true} #101#return; {9679#true} is VALID [2022-04-28 06:25:08,007 INFO L272 TraceCheckUtils]: 4: Hoare triple {9679#true} call #t~ret6 := main(); {9679#true} is VALID [2022-04-28 06:25:08,007 INFO L290 TraceCheckUtils]: 5: Hoare triple {9679#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {9679#true} is VALID [2022-04-28 06:25:08,007 INFO L272 TraceCheckUtils]: 6: Hoare triple {9679#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,007 INFO L290 TraceCheckUtils]: 7: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,007 INFO L290 TraceCheckUtils]: 8: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L290 TraceCheckUtils]: 9: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9679#true} {9679#true} #81#return; {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L290 TraceCheckUtils]: 11: Hoare triple {9679#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L272 TraceCheckUtils]: 12: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L290 TraceCheckUtils]: 13: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L290 TraceCheckUtils]: 14: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L290 TraceCheckUtils]: 15: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9679#true} {9679#true} #83#return; {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L272 TraceCheckUtils]: 17: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L290 TraceCheckUtils]: 18: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L290 TraceCheckUtils]: 19: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L290 TraceCheckUtils]: 20: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,008 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9679#true} {9679#true} #85#return; {9679#true} is VALID [2022-04-28 06:25:08,009 INFO L290 TraceCheckUtils]: 22: Hoare triple {9679#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:25:08,009 INFO L290 TraceCheckUtils]: 23: Hoare triple {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:25:08,009 INFO L272 TraceCheckUtils]: 24: Hoare triple {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,009 INFO L290 TraceCheckUtils]: 25: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,009 INFO L290 TraceCheckUtils]: 26: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,009 INFO L290 TraceCheckUtils]: 27: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,010 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9679#true} {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:25:08,010 INFO L272 TraceCheckUtils]: 29: Hoare triple {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,010 INFO L290 TraceCheckUtils]: 30: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,010 INFO L290 TraceCheckUtils]: 31: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,010 INFO L290 TraceCheckUtils]: 32: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,011 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9679#true} {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:25:08,011 INFO L272 TraceCheckUtils]: 34: Hoare triple {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,011 INFO L290 TraceCheckUtils]: 35: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,011 INFO L290 TraceCheckUtils]: 36: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,011 INFO L290 TraceCheckUtils]: 37: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,012 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9679#true} {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:25:08,014 INFO L290 TraceCheckUtils]: 39: Hoare triple {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:25:08,014 INFO L290 TraceCheckUtils]: 40: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:25:08,014 INFO L272 TraceCheckUtils]: 41: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,014 INFO L290 TraceCheckUtils]: 42: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,014 INFO L290 TraceCheckUtils]: 43: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,014 INFO L290 TraceCheckUtils]: 44: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,015 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9679#true} {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #87#return; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:25:08,015 INFO L272 TraceCheckUtils]: 46: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,015 INFO L290 TraceCheckUtils]: 47: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,015 INFO L290 TraceCheckUtils]: 48: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,015 INFO L290 TraceCheckUtils]: 49: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,016 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9679#true} {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #89#return; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:25:08,016 INFO L272 TraceCheckUtils]: 51: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,016 INFO L290 TraceCheckUtils]: 52: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,016 INFO L290 TraceCheckUtils]: 53: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,016 INFO L290 TraceCheckUtils]: 54: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,017 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9679#true} {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #91#return; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:25:08,019 INFO L290 TraceCheckUtils]: 56: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:25:08,019 INFO L290 TraceCheckUtils]: 57: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:25:08,019 INFO L272 TraceCheckUtils]: 58: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,019 INFO L290 TraceCheckUtils]: 59: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,019 INFO L290 TraceCheckUtils]: 60: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,020 INFO L290 TraceCheckUtils]: 61: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,020 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9679#true} {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #87#return; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:25:08,020 INFO L272 TraceCheckUtils]: 63: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,020 INFO L290 TraceCheckUtils]: 64: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,020 INFO L290 TraceCheckUtils]: 65: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,020 INFO L290 TraceCheckUtils]: 66: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,021 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9679#true} {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #89#return; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:25:08,021 INFO L272 TraceCheckUtils]: 68: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,023 INFO L290 TraceCheckUtils]: 69: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,023 INFO L290 TraceCheckUtils]: 70: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,023 INFO L290 TraceCheckUtils]: 71: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,025 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9679#true} {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #91#return; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:25:08,026 INFO L290 TraceCheckUtils]: 73: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:25:08,026 INFO L290 TraceCheckUtils]: 74: Hoare triple {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:25:08,026 INFO L272 TraceCheckUtils]: 75: Hoare triple {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,026 INFO L290 TraceCheckUtils]: 76: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,026 INFO L290 TraceCheckUtils]: 77: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,026 INFO L290 TraceCheckUtils]: 78: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,027 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9679#true} {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #93#return; {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:25:08,027 INFO L272 TraceCheckUtils]: 80: Hoare triple {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,027 INFO L290 TraceCheckUtils]: 81: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,027 INFO L290 TraceCheckUtils]: 82: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,027 INFO L290 TraceCheckUtils]: 83: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,028 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9679#true} {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #95#return; {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:25:08,031 INFO L290 TraceCheckUtils]: 85: Hoare triple {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9943#(and (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:25:08,033 INFO L290 TraceCheckUtils]: 86: Hoare triple {9943#(and (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} is VALID [2022-04-28 06:25:08,034 INFO L290 TraceCheckUtils]: 87: Hoare triple {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} assume !false; {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} is VALID [2022-04-28 06:25:08,034 INFO L272 TraceCheckUtils]: 88: Hoare triple {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,034 INFO L290 TraceCheckUtils]: 89: Hoare triple {9679#true} ~cond := #in~cond; {9957#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:25:08,034 INFO L290 TraceCheckUtils]: 90: Hoare triple {9957#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:25:08,035 INFO L290 TraceCheckUtils]: 91: Hoare triple {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:25:08,036 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} #93#return; {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 06:25:08,036 INFO L272 TraceCheckUtils]: 93: Hoare triple {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:25:08,036 INFO L290 TraceCheckUtils]: 94: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:25:08,036 INFO L290 TraceCheckUtils]: 95: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:25:08,036 INFO L290 TraceCheckUtils]: 96: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:25:08,037 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9679#true} {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} #95#return; {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 06:25:08,040 INFO L290 TraceCheckUtils]: 98: Hoare triple {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9987#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 1)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 06:25:08,041 INFO L290 TraceCheckUtils]: 99: Hoare triple {9987#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 1)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9991#(and (= main_~q~0 3) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 06:25:08,042 INFO L290 TraceCheckUtils]: 100: Hoare triple {9991#(and (= main_~q~0 3) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} assume !false; {9991#(and (= main_~q~0 3) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 06:25:08,042 INFO L272 TraceCheckUtils]: 101: Hoare triple {9991#(and (= main_~q~0 3) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:25:08,043 INFO L290 TraceCheckUtils]: 102: Hoare triple {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:25:08,043 INFO L290 TraceCheckUtils]: 103: Hoare triple {10002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9680#false} is VALID [2022-04-28 06:25:08,043 INFO L290 TraceCheckUtils]: 104: Hoare triple {9680#false} assume !false; {9680#false} is VALID [2022-04-28 06:25:08,044 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 58 proven. 28 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 06:25:08,044 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:27:07,238 INFO L290 TraceCheckUtils]: 104: Hoare triple {9680#false} assume !false; {9680#false} is VALID [2022-04-28 06:27:07,239 INFO L290 TraceCheckUtils]: 103: Hoare triple {10002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9680#false} is VALID [2022-04-28 06:27:07,239 INFO L290 TraceCheckUtils]: 102: Hoare triple {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:27:07,252 INFO L272 TraceCheckUtils]: 101: Hoare triple {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:27:07,252 INFO L290 TraceCheckUtils]: 100: Hoare triple {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:27:07,254 INFO L290 TraceCheckUtils]: 99: Hoare triple {10025#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:27:07,272 INFO L290 TraceCheckUtils]: 98: Hoare triple {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10025#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0)))} is VALID [2022-04-28 06:27:07,273 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9679#true} {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} #95#return; {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 06:27:07,273 INFO L290 TraceCheckUtils]: 96: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,273 INFO L290 TraceCheckUtils]: 95: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,273 INFO L290 TraceCheckUtils]: 94: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,273 INFO L272 TraceCheckUtils]: 93: Hoare triple {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,274 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} #93#return; {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 06:27:07,274 INFO L290 TraceCheckUtils]: 91: Hoare triple {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:27:07,275 INFO L290 TraceCheckUtils]: 90: Hoare triple {10058#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:27:07,275 INFO L290 TraceCheckUtils]: 89: Hoare triple {9679#true} ~cond := #in~cond; {10058#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:27:07,275 INFO L272 TraceCheckUtils]: 88: Hoare triple {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,277 INFO L290 TraceCheckUtils]: 87: Hoare triple {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} assume !false; {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 06:27:07,283 INFO L290 TraceCheckUtils]: 86: Hoare triple {10068#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (not (<= (+ (div main_~d~0 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (not (<= (+ (div main_~d~0 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (= (+ (* (- 1) main_~d~0) main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 06:27:07,750 INFO L290 TraceCheckUtils]: 85: Hoare triple {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10068#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (not (<= (+ (div main_~d~0 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (not (<= (+ (div main_~d~0 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (= (+ (* (- 1) main_~d~0) main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-28 06:27:07,753 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9679#true} {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} #95#return; {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} is VALID [2022-04-28 06:27:07,753 INFO L290 TraceCheckUtils]: 83: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,753 INFO L290 TraceCheckUtils]: 82: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,753 INFO L290 TraceCheckUtils]: 81: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,753 INFO L272 TraceCheckUtils]: 80: Hoare triple {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,763 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9679#true} {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} #93#return; {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} is VALID [2022-04-28 06:27:07,763 INFO L290 TraceCheckUtils]: 78: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,763 INFO L290 TraceCheckUtils]: 77: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,763 INFO L290 TraceCheckUtils]: 76: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,763 INFO L272 TraceCheckUtils]: 75: Hoare triple {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,769 INFO L290 TraceCheckUtils]: 74: Hoare triple {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} assume !false; {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} is VALID [2022-04-28 06:27:07,776 INFO L290 TraceCheckUtils]: 73: Hoare triple {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} is VALID [2022-04-28 06:27:07,783 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9679#true} {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} #91#return; {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:27:07,783 INFO L290 TraceCheckUtils]: 71: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,783 INFO L290 TraceCheckUtils]: 70: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,783 INFO L290 TraceCheckUtils]: 69: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,783 INFO L272 TraceCheckUtils]: 68: Hoare triple {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,784 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9679#true} {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} #89#return; {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:27:07,784 INFO L290 TraceCheckUtils]: 66: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,784 INFO L290 TraceCheckUtils]: 65: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,784 INFO L290 TraceCheckUtils]: 64: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,784 INFO L272 TraceCheckUtils]: 63: Hoare triple {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,785 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9679#true} {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} #87#return; {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:27:07,785 INFO L290 TraceCheckUtils]: 61: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,785 INFO L290 TraceCheckUtils]: 60: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,785 INFO L290 TraceCheckUtils]: 59: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,785 INFO L272 TraceCheckUtils]: 58: Hoare triple {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,788 INFO L290 TraceCheckUtils]: 57: Hoare triple {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} assume !false; {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:27:07,822 INFO L290 TraceCheckUtils]: 56: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:27:07,823 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9679#true} {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #91#return; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-28 06:27:07,823 INFO L290 TraceCheckUtils]: 54: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,823 INFO L290 TraceCheckUtils]: 53: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,823 INFO L290 TraceCheckUtils]: 52: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,823 INFO L272 TraceCheckUtils]: 51: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,824 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9679#true} {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #89#return; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-28 06:27:07,824 INFO L290 TraceCheckUtils]: 49: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,824 INFO L290 TraceCheckUtils]: 48: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,824 INFO L290 TraceCheckUtils]: 47: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,824 INFO L272 TraceCheckUtils]: 46: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,825 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9679#true} {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #87#return; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-28 06:27:07,825 INFO L290 TraceCheckUtils]: 44: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,825 INFO L290 TraceCheckUtils]: 43: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,825 INFO L290 TraceCheckUtils]: 42: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,825 INFO L272 TraceCheckUtils]: 41: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,827 INFO L290 TraceCheckUtils]: 40: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !false; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-28 06:27:07,847 INFO L290 TraceCheckUtils]: 39: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-28 06:27:07,848 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9679#true} {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} #91#return; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-28 06:27:07,848 INFO L290 TraceCheckUtils]: 37: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,848 INFO L290 TraceCheckUtils]: 36: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,848 INFO L290 TraceCheckUtils]: 35: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,849 INFO L272 TraceCheckUtils]: 34: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,849 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9679#true} {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} #89#return; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-28 06:27:07,849 INFO L290 TraceCheckUtils]: 32: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,849 INFO L290 TraceCheckUtils]: 31: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,849 INFO L290 TraceCheckUtils]: 30: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,849 INFO L272 TraceCheckUtils]: 29: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,850 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9679#true} {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} #87#return; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-28 06:27:07,850 INFO L290 TraceCheckUtils]: 27: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,850 INFO L290 TraceCheckUtils]: 26: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,850 INFO L290 TraceCheckUtils]: 25: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,850 INFO L272 TraceCheckUtils]: 24: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,851 INFO L290 TraceCheckUtils]: 23: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} assume !false; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-28 06:27:07,854 INFO L290 TraceCheckUtils]: 22: Hoare triple {9679#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-28 06:27:07,854 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9679#true} {9679#true} #85#return; {9679#true} is VALID [2022-04-28 06:27:07,854 INFO L290 TraceCheckUtils]: 20: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,854 INFO L290 TraceCheckUtils]: 19: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L290 TraceCheckUtils]: 18: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L272 TraceCheckUtils]: 17: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9679#true} {9679#true} #83#return; {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L290 TraceCheckUtils]: 15: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L290 TraceCheckUtils]: 14: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L290 TraceCheckUtils]: 13: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L272 TraceCheckUtils]: 12: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L290 TraceCheckUtils]: 11: Hoare triple {9679#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9679#true} {9679#true} #81#return; {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L290 TraceCheckUtils]: 9: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L290 TraceCheckUtils]: 8: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L290 TraceCheckUtils]: 7: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L272 TraceCheckUtils]: 6: Hoare triple {9679#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {9679#true} is VALID [2022-04-28 06:27:07,855 INFO L290 TraceCheckUtils]: 5: Hoare triple {9679#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {9679#true} is VALID [2022-04-28 06:27:07,856 INFO L272 TraceCheckUtils]: 4: Hoare triple {9679#true} call #t~ret6 := main(); {9679#true} is VALID [2022-04-28 06:27:07,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9679#true} {9679#true} #101#return; {9679#true} is VALID [2022-04-28 06:27:07,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 06:27:07,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {9679#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {9679#true} is VALID [2022-04-28 06:27:07,856 INFO L272 TraceCheckUtils]: 0: Hoare triple {9679#true} call ULTIMATE.init(); {9679#true} is VALID [2022-04-28 06:27:07,861 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 58 proven. 28 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 06:27:07,862 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:27:07,862 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [824355633] [2022-04-28 06:27:07,862 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:27:07,862 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2092196637] [2022-04-28 06:27:07,862 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2092196637] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:27:07,862 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:27:07,862 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 25 [2022-04-28 06:27:07,862 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:27:07,862 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [634796537] [2022-04-28 06:27:07,862 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [634796537] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:27:07,862 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:27:07,863 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 06:27:07,863 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [620548308] [2022-04-28 06:27:07,863 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:27:07,863 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-28 06:27:07,863 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:27:07,863 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:27:07,968 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:27:07,968 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 06:27:07,968 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:27:07,969 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 06:27:07,969 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=493, Unknown=1, NotChecked=0, Total=600 [2022-04-28 06:27:07,969 INFO L87 Difference]: Start difference. First operand 138 states and 167 transitions. Second operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:27:15,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:27:15,433 INFO L93 Difference]: Finished difference Result 184 states and 208 transitions. [2022-04-28 06:27:15,433 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 06:27:15,433 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-28 06:27:15,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:27:15,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:27:15,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 116 transitions. [2022-04-28 06:27:15,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:27:15,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 116 transitions. [2022-04-28 06:27:15,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 116 transitions. [2022-04-28 06:27:15,749 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:27:15,751 INFO L225 Difference]: With dead ends: 184 [2022-04-28 06:27:15,751 INFO L226 Difference]: Without dead ends: 147 [2022-04-28 06:27:15,752 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 185 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 15.9s TimeCoverageRelationStatistics Valid=119, Invalid=582, Unknown=1, NotChecked=0, Total=702 [2022-04-28 06:27:15,752 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 17 mSDsluCounter, 242 mSDsCounter, 0 mSdLazyCounter, 656 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 289 SdHoareTripleChecker+Invalid, 673 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 656 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.7s IncrementalHoareTripleChecker+Time [2022-04-28 06:27:15,752 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 289 Invalid, 673 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 656 Invalid, 0 Unknown, 0 Unchecked, 3.7s Time] [2022-04-28 06:27:15,753 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2022-04-28 06:27:15,866 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 147. [2022-04-28 06:27:15,866 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:27:15,867 INFO L82 GeneralOperation]: Start isEquivalent. First operand 147 states. Second operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 06:27:15,867 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 06:27:15,867 INFO L87 Difference]: Start difference. First operand 147 states. Second operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 06:27:15,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:27:15,869 INFO L93 Difference]: Finished difference Result 147 states and 167 transitions. [2022-04-28 06:27:15,869 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 167 transitions. [2022-04-28 06:27:15,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:27:15,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:27:15,870 INFO L74 IsIncluded]: Start isIncluded. First operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 147 states. [2022-04-28 06:27:15,870 INFO L87 Difference]: Start difference. First operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 147 states. [2022-04-28 06:27:15,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:27:15,873 INFO L93 Difference]: Finished difference Result 147 states and 167 transitions. [2022-04-28 06:27:15,873 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 167 transitions. [2022-04-28 06:27:15,873 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:27:15,873 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:27:15,874 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:27:15,874 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:27:15,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 06:27:15,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 167 transitions. [2022-04-28 06:27:15,882 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 167 transitions. Word has length 105 [2022-04-28 06:27:15,882 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:27:15,882 INFO L495 AbstractCegarLoop]: Abstraction has 147 states and 167 transitions. [2022-04-28 06:27:15,882 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:27:15,882 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 147 states and 167 transitions. [2022-04-28 06:27:16,197 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:27:16,198 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 167 transitions. [2022-04-28 06:27:16,199 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 115 [2022-04-28 06:27:16,200 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:27:16,200 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:27:16,218 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 06:27:16,407 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 06:27:16,407 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:27:16,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:27:16,408 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 11 times [2022-04-28 06:27:16,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:27:16,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1248366473] [2022-04-28 06:27:16,408 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:27:16,408 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 12 times [2022-04-28 06:27:16,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:27:16,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1380506838] [2022-04-28 06:27:16,409 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:27:16,409 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:27:16,425 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:27:16,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [700568410] [2022-04-28 06:27:16,426 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:27:16,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:27:16,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:27:16,431 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:27:16,463 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 06:27:16,519 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 06:27:16,519 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:27:16,520 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 06:27:16,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:27:16,542 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:27:18,518 INFO L272 TraceCheckUtils]: 0: Hoare triple {11293#true} call ULTIMATE.init(); {11293#true} is VALID [2022-04-28 06:27:18,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {11293#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {11293#true} is VALID [2022-04-28 06:27:18,519 INFO L290 TraceCheckUtils]: 2: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,519 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11293#true} {11293#true} #101#return; {11293#true} is VALID [2022-04-28 06:27:18,519 INFO L272 TraceCheckUtils]: 4: Hoare triple {11293#true} call #t~ret6 := main(); {11293#true} is VALID [2022-04-28 06:27:18,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {11293#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {11293#true} is VALID [2022-04-28 06:27:18,519 INFO L272 TraceCheckUtils]: 6: Hoare triple {11293#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,519 INFO L290 TraceCheckUtils]: 7: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,519 INFO L290 TraceCheckUtils]: 8: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,519 INFO L290 TraceCheckUtils]: 9: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,519 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11293#true} {11293#true} #81#return; {11293#true} is VALID [2022-04-28 06:27:18,519 INFO L290 TraceCheckUtils]: 11: Hoare triple {11293#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11293#true} is VALID [2022-04-28 06:27:18,520 INFO L272 TraceCheckUtils]: 12: Hoare triple {11293#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,520 INFO L290 TraceCheckUtils]: 13: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,520 INFO L290 TraceCheckUtils]: 14: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,520 INFO L290 TraceCheckUtils]: 15: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,520 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11293#true} {11293#true} #83#return; {11293#true} is VALID [2022-04-28 06:27:18,520 INFO L272 TraceCheckUtils]: 17: Hoare triple {11293#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,520 INFO L290 TraceCheckUtils]: 18: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,520 INFO L290 TraceCheckUtils]: 19: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,520 INFO L290 TraceCheckUtils]: 20: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,520 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11293#true} {11293#true} #85#return; {11293#true} is VALID [2022-04-28 06:27:18,521 INFO L290 TraceCheckUtils]: 22: Hoare triple {11293#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:27:18,521 INFO L290 TraceCheckUtils]: 23: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:27:18,521 INFO L272 TraceCheckUtils]: 24: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,521 INFO L290 TraceCheckUtils]: 25: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,521 INFO L290 TraceCheckUtils]: 26: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,521 INFO L290 TraceCheckUtils]: 27: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,522 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:27:18,522 INFO L272 TraceCheckUtils]: 29: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,522 INFO L290 TraceCheckUtils]: 30: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,522 INFO L290 TraceCheckUtils]: 31: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,522 INFO L290 TraceCheckUtils]: 32: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,523 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:27:18,523 INFO L272 TraceCheckUtils]: 34: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,523 INFO L290 TraceCheckUtils]: 35: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,523 INFO L290 TraceCheckUtils]: 36: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,523 INFO L290 TraceCheckUtils]: 37: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,523 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:27:18,524 INFO L290 TraceCheckUtils]: 39: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:27:18,524 INFO L290 TraceCheckUtils]: 40: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:27:18,524 INFO L272 TraceCheckUtils]: 41: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,524 INFO L290 TraceCheckUtils]: 42: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,524 INFO L290 TraceCheckUtils]: 43: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,524 INFO L290 TraceCheckUtils]: 44: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,525 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:27:18,525 INFO L272 TraceCheckUtils]: 46: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,525 INFO L290 TraceCheckUtils]: 47: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,525 INFO L290 TraceCheckUtils]: 48: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,525 INFO L290 TraceCheckUtils]: 49: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,526 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:27:18,526 INFO L272 TraceCheckUtils]: 51: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,526 INFO L290 TraceCheckUtils]: 52: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,526 INFO L290 TraceCheckUtils]: 53: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,526 INFO L290 TraceCheckUtils]: 54: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,527 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:27:18,528 INFO L290 TraceCheckUtils]: 56: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,528 INFO L290 TraceCheckUtils]: 57: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,528 INFO L272 TraceCheckUtils]: 58: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,528 INFO L290 TraceCheckUtils]: 59: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,528 INFO L290 TraceCheckUtils]: 60: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,529 INFO L290 TraceCheckUtils]: 61: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,529 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11293#true} {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,529 INFO L272 TraceCheckUtils]: 63: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,529 INFO L290 TraceCheckUtils]: 64: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,529 INFO L290 TraceCheckUtils]: 65: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,529 INFO L290 TraceCheckUtils]: 66: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,530 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11293#true} {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,530 INFO L272 TraceCheckUtils]: 68: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,530 INFO L290 TraceCheckUtils]: 69: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,530 INFO L290 TraceCheckUtils]: 70: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,530 INFO L290 TraceCheckUtils]: 71: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,530 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11293#true} {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,532 INFO L290 TraceCheckUtils]: 73: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,533 INFO L290 TraceCheckUtils]: 74: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,533 INFO L272 TraceCheckUtils]: 75: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,533 INFO L290 TraceCheckUtils]: 76: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,533 INFO L290 TraceCheckUtils]: 77: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,533 INFO L290 TraceCheckUtils]: 78: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,533 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,533 INFO L272 TraceCheckUtils]: 80: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,533 INFO L290 TraceCheckUtils]: 81: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,534 INFO L290 TraceCheckUtils]: 82: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,534 INFO L290 TraceCheckUtils]: 83: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,534 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,534 INFO L272 TraceCheckUtils]: 85: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,534 INFO L290 TraceCheckUtils]: 86: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,534 INFO L290 TraceCheckUtils]: 87: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,534 INFO L290 TraceCheckUtils]: 88: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,535 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,535 INFO L290 TraceCheckUtils]: 90: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,536 INFO L290 TraceCheckUtils]: 91: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,536 INFO L272 TraceCheckUtils]: 92: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,536 INFO L290 TraceCheckUtils]: 93: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,536 INFO L290 TraceCheckUtils]: 94: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,536 INFO L290 TraceCheckUtils]: 95: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,536 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #93#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,536 INFO L272 TraceCheckUtils]: 97: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,536 INFO L290 TraceCheckUtils]: 98: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 06:27:18,537 INFO L290 TraceCheckUtils]: 99: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 06:27:18,537 INFO L290 TraceCheckUtils]: 100: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 06:27:18,537 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #95#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,539 INFO L290 TraceCheckUtils]: 102: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,541 INFO L290 TraceCheckUtils]: 103: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,541 INFO L290 TraceCheckUtils]: 104: Hoare triple {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} assume !false; {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,541 INFO L272 TraceCheckUtils]: 105: Hoare triple {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 06:27:18,541 INFO L290 TraceCheckUtils]: 106: Hoare triple {11293#true} ~cond := #in~cond; {11620#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:27:18,542 INFO L290 TraceCheckUtils]: 107: Hoare triple {11620#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11624#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:27:18,542 INFO L290 TraceCheckUtils]: 108: Hoare triple {11624#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11624#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:27:18,544 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11624#(not (= |__VERIFIER_assert_#in~cond| 0))} {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} #93#return; {11631#(and (exists ((main_~A~0 Int)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:27:18,544 INFO L272 TraceCheckUtils]: 110: Hoare triple {11631#(and (exists ((main_~A~0 Int)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11635#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:27:18,544 INFO L290 TraceCheckUtils]: 111: Hoare triple {11635#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11639#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:27:18,545 INFO L290 TraceCheckUtils]: 112: Hoare triple {11639#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11294#false} is VALID [2022-04-28 06:27:18,545 INFO L290 TraceCheckUtils]: 113: Hoare triple {11294#false} assume !false; {11294#false} is VALID [2022-04-28 06:27:18,545 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 96 proven. 4 refuted. 0 times theorem prover too weak. 395 trivial. 0 not checked. [2022-04-28 06:27:18,545 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:28:21,435 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:28:21,436 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1380506838] [2022-04-28 06:28:21,436 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:28:21,436 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [700568410] [2022-04-28 06:28:21,436 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [700568410] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 06:28:21,436 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 06:28:21,436 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-28 06:28:21,436 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:28:21,436 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1248366473] [2022-04-28 06:28:21,436 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1248366473] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:28:21,437 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:28:21,437 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 06:28:21,437 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [192992047] [2022-04-28 06:28:21,437 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:28:21,437 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-28 06:28:21,437 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:28:21,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-28 06:28:21,515 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:28:21,515 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 06:28:21,515 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:28:21,515 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 06:28:21,515 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-28 06:28:21,516 INFO L87 Difference]: Start difference. First operand 147 states and 167 transitions. Second operand has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-28 06:28:24,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:28:24,055 INFO L93 Difference]: Finished difference Result 168 states and 190 transitions. [2022-04-28 06:28:24,055 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 06:28:24,055 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-28 06:28:24,055 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:28:24,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-28 06:28:24,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2022-04-28 06:28:24,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-28 06:28:24,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2022-04-28 06:28:24,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 103 transitions. [2022-04-28 06:28:24,216 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:28:24,218 INFO L225 Difference]: With dead ends: 168 [2022-04-28 06:28:24,218 INFO L226 Difference]: Without dead ends: 156 [2022-04-28 06:28:24,218 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 105 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-04-28 06:28:24,219 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 19 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 310 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 233 SdHoareTripleChecker+Invalid, 386 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 310 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 65 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:28:24,219 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [25 Valid, 233 Invalid, 386 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 310 Invalid, 0 Unknown, 65 Unchecked, 1.1s Time] [2022-04-28 06:28:24,219 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-28 06:28:24,351 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 155. [2022-04-28 06:28:24,351 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:28:24,352 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 06:28:24,352 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 06:28:24,352 INFO L87 Difference]: Start difference. First operand 156 states. Second operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 06:28:24,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:28:24,355 INFO L93 Difference]: Finished difference Result 156 states and 177 transitions. [2022-04-28 06:28:24,355 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 177 transitions. [2022-04-28 06:28:24,355 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:28:24,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:28:24,356 INFO L74 IsIncluded]: Start isIncluded. First operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) Second operand 156 states. [2022-04-28 06:28:24,356 INFO L87 Difference]: Start difference. First operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) Second operand 156 states. [2022-04-28 06:28:24,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:28:24,358 INFO L93 Difference]: Finished difference Result 156 states and 177 transitions. [2022-04-28 06:28:24,358 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 177 transitions. [2022-04-28 06:28:24,358 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:28:24,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:28:24,359 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:28:24,359 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:28:24,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 06:28:24,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 176 transitions. [2022-04-28 06:28:24,361 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 176 transitions. Word has length 114 [2022-04-28 06:28:24,362 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:28:24,362 INFO L495 AbstractCegarLoop]: Abstraction has 155 states and 176 transitions. [2022-04-28 06:28:24,362 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-28 06:28:24,362 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 155 states and 176 transitions. [2022-04-28 06:28:24,698 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 176 edges. 176 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:28:24,698 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 176 transitions. [2022-04-28 06:28:24,699 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-28 06:28:24,699 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:28:24,699 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:28:24,719 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 06:28:24,917 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 06:28:24,917 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:28:24,917 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:28:24,917 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 3 times [2022-04-28 06:28:24,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:28:24,918 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [30656252] [2022-04-28 06:28:24,918 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:28:24,918 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 4 times [2022-04-28 06:28:24,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:28:24,918 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [973563375] [2022-04-28 06:28:24,918 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:28:24,919 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:28:24,932 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:28:24,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [938552196] [2022-04-28 06:28:24,932 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:28:24,932 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:28:24,932 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:28:24,934 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:28:24,934 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 06:28:24,992 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:28:24,992 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:28:24,993 INFO L263 TraceCheckSpWp]: Trace formula consists of 261 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 06:28:25,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:28:25,016 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:28:57,941 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:29:01,358 INFO L272 TraceCheckUtils]: 0: Hoare triple {12626#true} call ULTIMATE.init(); {12626#true} is VALID [2022-04-28 06:29:01,358 INFO L290 TraceCheckUtils]: 1: Hoare triple {12626#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {12626#true} is VALID [2022-04-28 06:29:01,358 INFO L290 TraceCheckUtils]: 2: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,358 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12626#true} {12626#true} #101#return; {12626#true} is VALID [2022-04-28 06:29:01,358 INFO L272 TraceCheckUtils]: 4: Hoare triple {12626#true} call #t~ret6 := main(); {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L290 TraceCheckUtils]: 5: Hoare triple {12626#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L272 TraceCheckUtils]: 6: Hoare triple {12626#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L290 TraceCheckUtils]: 7: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L290 TraceCheckUtils]: 8: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L290 TraceCheckUtils]: 9: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12626#true} {12626#true} #81#return; {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L290 TraceCheckUtils]: 11: Hoare triple {12626#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L272 TraceCheckUtils]: 12: Hoare triple {12626#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L290 TraceCheckUtils]: 13: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L290 TraceCheckUtils]: 14: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L290 TraceCheckUtils]: 15: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12626#true} {12626#true} #83#return; {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L272 TraceCheckUtils]: 17: Hoare triple {12626#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,359 INFO L290 TraceCheckUtils]: 18: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,360 INFO L290 TraceCheckUtils]: 19: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,360 INFO L290 TraceCheckUtils]: 20: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,360 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12626#true} {12626#true} #85#return; {12626#true} is VALID [2022-04-28 06:29:01,360 INFO L290 TraceCheckUtils]: 22: Hoare triple {12626#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:29:01,361 INFO L290 TraceCheckUtils]: 23: Hoare triple {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:29:01,361 INFO L272 TraceCheckUtils]: 24: Hoare triple {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,361 INFO L290 TraceCheckUtils]: 25: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,361 INFO L290 TraceCheckUtils]: 26: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,361 INFO L290 TraceCheckUtils]: 27: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,361 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12626#true} {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:29:01,361 INFO L272 TraceCheckUtils]: 29: Hoare triple {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,362 INFO L290 TraceCheckUtils]: 30: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,362 INFO L290 TraceCheckUtils]: 31: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,362 INFO L290 TraceCheckUtils]: 32: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,362 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12626#true} {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:29:01,362 INFO L272 TraceCheckUtils]: 34: Hoare triple {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,362 INFO L290 TraceCheckUtils]: 35: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,362 INFO L290 TraceCheckUtils]: 36: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,362 INFO L290 TraceCheckUtils]: 37: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,363 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {12626#true} {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:29:01,365 INFO L290 TraceCheckUtils]: 39: Hoare triple {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:29:01,366 INFO L290 TraceCheckUtils]: 40: Hoare triple {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:29:01,366 INFO L272 TraceCheckUtils]: 41: Hoare triple {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,366 INFO L290 TraceCheckUtils]: 42: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,366 INFO L290 TraceCheckUtils]: 43: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,366 INFO L290 TraceCheckUtils]: 44: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,367 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12626#true} {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #87#return; {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:29:01,367 INFO L272 TraceCheckUtils]: 46: Hoare triple {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,367 INFO L290 TraceCheckUtils]: 47: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,367 INFO L290 TraceCheckUtils]: 48: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,367 INFO L290 TraceCheckUtils]: 49: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,368 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12626#true} {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #89#return; {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:29:01,368 INFO L272 TraceCheckUtils]: 51: Hoare triple {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,368 INFO L290 TraceCheckUtils]: 52: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,368 INFO L290 TraceCheckUtils]: 53: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,368 INFO L290 TraceCheckUtils]: 54: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,369 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {12626#true} {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #91#return; {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:29:01,371 INFO L290 TraceCheckUtils]: 56: Hoare triple {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:29:01,371 INFO L290 TraceCheckUtils]: 57: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:29:01,372 INFO L272 TraceCheckUtils]: 58: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,372 INFO L290 TraceCheckUtils]: 59: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,372 INFO L290 TraceCheckUtils]: 60: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,372 INFO L290 TraceCheckUtils]: 61: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,372 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {12626#true} {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #87#return; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:29:01,372 INFO L272 TraceCheckUtils]: 63: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,372 INFO L290 TraceCheckUtils]: 64: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,373 INFO L290 TraceCheckUtils]: 65: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,373 INFO L290 TraceCheckUtils]: 66: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,373 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {12626#true} {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #89#return; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:29:01,373 INFO L272 TraceCheckUtils]: 68: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,373 INFO L290 TraceCheckUtils]: 69: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,373 INFO L290 TraceCheckUtils]: 70: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,373 INFO L290 TraceCheckUtils]: 71: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,374 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12626#true} {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #91#return; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:29:01,374 INFO L290 TraceCheckUtils]: 73: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:29:01,375 INFO L290 TraceCheckUtils]: 74: Hoare triple {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:29:01,375 INFO L272 TraceCheckUtils]: 75: Hoare triple {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,375 INFO L290 TraceCheckUtils]: 76: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,375 INFO L290 TraceCheckUtils]: 77: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,375 INFO L290 TraceCheckUtils]: 78: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,376 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {12626#true} {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #93#return; {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:29:01,376 INFO L272 TraceCheckUtils]: 80: Hoare triple {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,376 INFO L290 TraceCheckUtils]: 81: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,376 INFO L290 TraceCheckUtils]: 82: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,376 INFO L290 TraceCheckUtils]: 83: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,377 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {12626#true} {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #95#return; {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:29:01,379 INFO L290 TraceCheckUtils]: 85: Hoare triple {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {12890#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (< main_~r~0 (* main_~d~0 2)) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:29:01,382 INFO L290 TraceCheckUtils]: 86: Hoare triple {12890#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (< main_~r~0 (* main_~d~0 2)) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} is VALID [2022-04-28 06:29:01,383 INFO L290 TraceCheckUtils]: 87: Hoare triple {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} assume !false; {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} is VALID [2022-04-28 06:29:01,383 INFO L272 TraceCheckUtils]: 88: Hoare triple {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,383 INFO L290 TraceCheckUtils]: 89: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,383 INFO L290 TraceCheckUtils]: 90: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,383 INFO L290 TraceCheckUtils]: 91: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,384 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {12626#true} {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} #93#return; {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} is VALID [2022-04-28 06:29:01,384 INFO L272 TraceCheckUtils]: 93: Hoare triple {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,384 INFO L290 TraceCheckUtils]: 94: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,384 INFO L290 TraceCheckUtils]: 95: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,384 INFO L290 TraceCheckUtils]: 96: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,385 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {12626#true} {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} #95#return; {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} is VALID [2022-04-28 06:29:01,390 INFO L290 TraceCheckUtils]: 98: Hoare triple {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {12931#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~r~0)) 4) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (* main_~r~0 2) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 06:29:01,396 INFO L290 TraceCheckUtils]: 99: Hoare triple {12931#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~r~0)) 4) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (* main_~r~0 2) (mod main_~A~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} is VALID [2022-04-28 06:29:01,397 INFO L290 TraceCheckUtils]: 100: Hoare triple {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} assume !false; {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} is VALID [2022-04-28 06:29:01,397 INFO L272 TraceCheckUtils]: 101: Hoare triple {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,397 INFO L290 TraceCheckUtils]: 102: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 06:29:01,398 INFO L290 TraceCheckUtils]: 103: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 06:29:01,398 INFO L290 TraceCheckUtils]: 104: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 06:29:01,398 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {12626#true} {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} #93#return; {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} is VALID [2022-04-28 06:29:01,398 INFO L272 TraceCheckUtils]: 106: Hoare triple {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 06:29:01,399 INFO L290 TraceCheckUtils]: 107: Hoare triple {12626#true} ~cond := #in~cond; {12960#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:29:01,399 INFO L290 TraceCheckUtils]: 108: Hoare triple {12960#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12964#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:29:01,399 INFO L290 TraceCheckUtils]: 109: Hoare triple {12964#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12964#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:29:01,400 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {12964#(not (= |__VERIFIER_assert_#in~cond| 0))} {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} #95#return; {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} is VALID [2022-04-28 06:29:01,401 INFO L290 TraceCheckUtils]: 111: Hoare triple {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} assume !(1 != ~p~0); {12974#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)))} is VALID [2022-04-28 06:29:01,403 INFO L272 TraceCheckUtils]: 112: Hoare triple {12974#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12978#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:29:01,403 INFO L290 TraceCheckUtils]: 113: Hoare triple {12978#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12982#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:29:01,404 INFO L290 TraceCheckUtils]: 114: Hoare triple {12982#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12627#false} is VALID [2022-04-28 06:29:01,404 INFO L290 TraceCheckUtils]: 115: Hoare triple {12627#false} assume !false; {12627#false} is VALID [2022-04-28 06:29:01,404 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 71 proven. 29 refuted. 0 times theorem prover too weak. 390 trivial. 0 not checked. [2022-04-28 06:29:01,404 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:29:23,496 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:30:20,377 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:30:20,378 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [973563375] [2022-04-28 06:30:20,378 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:30:20,378 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [938552196] [2022-04-28 06:30:20,378 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [938552196] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 06:30:20,378 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 06:30:20,378 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2022-04-28 06:30:20,378 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:30:20,378 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [30656252] [2022-04-28 06:30:20,378 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [30656252] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:30:20,378 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:30:20,378 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 06:30:20,378 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1658384782] [2022-04-28 06:30:20,379 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:30:20,379 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) Word has length 116 [2022-04-28 06:30:20,379 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:30:20,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 06:30:20,534 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:30:20,534 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 06:30:20,534 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:30:20,534 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 06:30:20,534 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=147, Invalid=503, Unknown=0, NotChecked=0, Total=650 [2022-04-28 06:30:20,535 INFO L87 Difference]: Start difference. First operand 155 states and 176 transitions. Second operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 06:30:29,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:30:29,145 INFO L93 Difference]: Finished difference Result 161 states and 181 transitions. [2022-04-28 06:30:29,145 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 06:30:29,145 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) Word has length 116 [2022-04-28 06:30:29,145 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:30:29,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 06:30:29,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 94 transitions. [2022-04-28 06:30:29,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 06:30:29,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 94 transitions. [2022-04-28 06:30:29,148 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 94 transitions. [2022-04-28 06:30:29,492 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:30:29,494 INFO L225 Difference]: With dead ends: 161 [2022-04-28 06:30:29,495 INFO L226 Difference]: Without dead ends: 124 [2022-04-28 06:30:29,495 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 195 GetRequests, 168 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 125 ImplicationChecksByTransitivity, 3.8s TimeCoverageRelationStatistics Valid=160, Invalid=596, Unknown=0, NotChecked=0, Total=756 [2022-04-28 06:30:29,495 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 16 mSDsluCounter, 271 mSDsCounter, 0 mSdLazyCounter, 631 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 314 SdHoareTripleChecker+Invalid, 652 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 631 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.8s IncrementalHoareTripleChecker+Time [2022-04-28 06:30:29,495 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 314 Invalid, 652 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 631 Invalid, 0 Unknown, 0 Unchecked, 4.8s Time] [2022-04-28 06:30:29,496 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-28 06:30:29,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2022-04-28 06:30:29,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:30:29,574 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 06:30:29,574 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 06:30:29,574 INFO L87 Difference]: Start difference. First operand 124 states. Second operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 06:30:29,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:30:29,577 INFO L93 Difference]: Finished difference Result 124 states and 142 transitions. [2022-04-28 06:30:29,577 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 142 transitions. [2022-04-28 06:30:29,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:30:29,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:30:29,578 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) Second operand 124 states. [2022-04-28 06:30:29,578 INFO L87 Difference]: Start difference. First operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) Second operand 124 states. [2022-04-28 06:30:29,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:30:29,580 INFO L93 Difference]: Finished difference Result 124 states and 142 transitions. [2022-04-28 06:30:29,580 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 142 transitions. [2022-04-28 06:30:29,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:30:29,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:30:29,580 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:30:29,580 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:30:29,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 06:30:29,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 142 transitions. [2022-04-28 06:30:29,583 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 142 transitions. Word has length 116 [2022-04-28 06:30:29,584 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:30:29,584 INFO L495 AbstractCegarLoop]: Abstraction has 124 states and 142 transitions. [2022-04-28 06:30:29,584 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 06:30:29,584 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 142 transitions. [2022-04-28 06:30:29,903 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:30:29,903 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 142 transitions. [2022-04-28 06:30:29,904 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 121 [2022-04-28 06:30:29,904 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:30:29,904 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:30:29,921 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 06:30:30,104 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-28 06:30:30,105 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:30:30,105 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:30:30,105 INFO L85 PathProgramCache]: Analyzing trace with hash -1921791003, now seen corresponding path program 5 times [2022-04-28 06:30:30,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:30:30,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1724457139] [2022-04-28 06:30:30,105 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:30:30,105 INFO L85 PathProgramCache]: Analyzing trace with hash -1921791003, now seen corresponding path program 6 times [2022-04-28 06:30:30,106 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:30:30,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1146723352] [2022-04-28 06:30:30,106 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:30:30,106 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:30:30,115 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:30:30,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1953712715] [2022-04-28 06:30:30,115 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:30:30,115 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:30:30,116 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:30:30,116 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:30:30,117 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 06:30:30,186 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 06:30:30,187 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:30:30,188 INFO L263 TraceCheckSpWp]: Trace formula consists of 247 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-28 06:30:30,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:30:30,206 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:30:33,195 INFO L272 TraceCheckUtils]: 0: Hoare triple {14055#true} call ULTIMATE.init(); {14055#true} is VALID [2022-04-28 06:30:33,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {14055#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {14055#true} is VALID [2022-04-28 06:30:33,196 INFO L290 TraceCheckUtils]: 2: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,196 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14055#true} {14055#true} #101#return; {14055#true} is VALID [2022-04-28 06:30:33,196 INFO L272 TraceCheckUtils]: 4: Hoare triple {14055#true} call #t~ret6 := main(); {14055#true} is VALID [2022-04-28 06:30:33,196 INFO L290 TraceCheckUtils]: 5: Hoare triple {14055#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {14055#true} is VALID [2022-04-28 06:30:33,196 INFO L272 TraceCheckUtils]: 6: Hoare triple {14055#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,196 INFO L290 TraceCheckUtils]: 7: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,196 INFO L290 TraceCheckUtils]: 8: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,196 INFO L290 TraceCheckUtils]: 9: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,196 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14055#true} {14055#true} #81#return; {14055#true} is VALID [2022-04-28 06:30:33,196 INFO L290 TraceCheckUtils]: 11: Hoare triple {14055#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {14055#true} is VALID [2022-04-28 06:30:33,196 INFO L272 TraceCheckUtils]: 12: Hoare triple {14055#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,197 INFO L290 TraceCheckUtils]: 13: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,197 INFO L290 TraceCheckUtils]: 14: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,197 INFO L290 TraceCheckUtils]: 15: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,197 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14055#true} {14055#true} #83#return; {14055#true} is VALID [2022-04-28 06:30:33,197 INFO L272 TraceCheckUtils]: 17: Hoare triple {14055#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,197 INFO L290 TraceCheckUtils]: 18: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,197 INFO L290 TraceCheckUtils]: 19: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,197 INFO L290 TraceCheckUtils]: 20: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,197 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14055#true} {14055#true} #85#return; {14055#true} is VALID [2022-04-28 06:30:33,206 INFO L290 TraceCheckUtils]: 22: Hoare triple {14055#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:33,206 INFO L290 TraceCheckUtils]: 23: Hoare triple {14126#(<= 1 main_~p~0)} assume !false; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:33,206 INFO L272 TraceCheckUtils]: 24: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,207 INFO L290 TraceCheckUtils]: 26: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,207 INFO L290 TraceCheckUtils]: 27: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,207 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #87#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:33,207 INFO L272 TraceCheckUtils]: 29: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,207 INFO L290 TraceCheckUtils]: 30: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,207 INFO L290 TraceCheckUtils]: 31: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,207 INFO L290 TraceCheckUtils]: 32: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,208 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #89#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:33,208 INFO L272 TraceCheckUtils]: 34: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,208 INFO L290 TraceCheckUtils]: 35: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,208 INFO L290 TraceCheckUtils]: 36: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,208 INFO L290 TraceCheckUtils]: 37: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,208 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #91#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:33,209 INFO L290 TraceCheckUtils]: 39: Hoare triple {14126#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:33,210 INFO L290 TraceCheckUtils]: 40: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume !false; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:33,210 INFO L272 TraceCheckUtils]: 41: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,210 INFO L290 TraceCheckUtils]: 42: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,210 INFO L290 TraceCheckUtils]: 43: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,210 INFO L290 TraceCheckUtils]: 44: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,210 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #87#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:33,211 INFO L272 TraceCheckUtils]: 46: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,211 INFO L290 TraceCheckUtils]: 47: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,211 INFO L290 TraceCheckUtils]: 48: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,211 INFO L290 TraceCheckUtils]: 49: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,211 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #89#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:33,211 INFO L272 TraceCheckUtils]: 51: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,211 INFO L290 TraceCheckUtils]: 52: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,211 INFO L290 TraceCheckUtils]: 53: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,211 INFO L290 TraceCheckUtils]: 54: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,212 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #91#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:33,213 INFO L290 TraceCheckUtils]: 56: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:33,213 INFO L290 TraceCheckUtils]: 57: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:33,213 INFO L272 TraceCheckUtils]: 58: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,213 INFO L290 TraceCheckUtils]: 59: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,213 INFO L290 TraceCheckUtils]: 60: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,213 INFO L290 TraceCheckUtils]: 61: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,214 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:33,214 INFO L272 TraceCheckUtils]: 63: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,214 INFO L290 TraceCheckUtils]: 64: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,214 INFO L290 TraceCheckUtils]: 65: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,214 INFO L290 TraceCheckUtils]: 66: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,214 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:33,214 INFO L272 TraceCheckUtils]: 68: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,214 INFO L290 TraceCheckUtils]: 69: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,215 INFO L290 TraceCheckUtils]: 70: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,215 INFO L290 TraceCheckUtils]: 71: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,219 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:33,220 INFO L290 TraceCheckUtils]: 73: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 06:30:33,221 INFO L290 TraceCheckUtils]: 74: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !false; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 06:30:33,221 INFO L272 TraceCheckUtils]: 75: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,221 INFO L290 TraceCheckUtils]: 76: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,221 INFO L290 TraceCheckUtils]: 77: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,221 INFO L290 TraceCheckUtils]: 78: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,221 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14055#true} {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #87#return; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 06:30:33,221 INFO L272 TraceCheckUtils]: 80: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,222 INFO L290 TraceCheckUtils]: 81: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,222 INFO L290 TraceCheckUtils]: 82: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,222 INFO L290 TraceCheckUtils]: 83: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,222 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {14055#true} {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #89#return; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 06:30:33,222 INFO L272 TraceCheckUtils]: 85: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,222 INFO L290 TraceCheckUtils]: 86: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,222 INFO L290 TraceCheckUtils]: 87: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,223 INFO L290 TraceCheckUtils]: 88: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,223 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {14055#true} {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #91#return; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 06:30:33,223 INFO L290 TraceCheckUtils]: 90: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !(~r~0 >= ~d~0); {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 06:30:33,224 INFO L290 TraceCheckUtils]: 91: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !false; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 06:30:33,224 INFO L272 TraceCheckUtils]: 92: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,224 INFO L290 TraceCheckUtils]: 93: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,224 INFO L290 TraceCheckUtils]: 94: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,224 INFO L290 TraceCheckUtils]: 95: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,224 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {14055#true} {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #93#return; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 06:30:33,225 INFO L272 TraceCheckUtils]: 97: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,225 INFO L290 TraceCheckUtils]: 98: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,225 INFO L290 TraceCheckUtils]: 99: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,225 INFO L290 TraceCheckUtils]: 100: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,225 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {14055#true} {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #95#return; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 06:30:33,227 INFO L290 TraceCheckUtils]: 102: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:33,227 INFO L290 TraceCheckUtils]: 103: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:33,227 INFO L290 TraceCheckUtils]: 104: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:33,228 INFO L272 TraceCheckUtils]: 105: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,228 INFO L290 TraceCheckUtils]: 106: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,228 INFO L290 TraceCheckUtils]: 107: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,228 INFO L290 TraceCheckUtils]: 108: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,228 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:33,229 INFO L272 TraceCheckUtils]: 110: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:33,229 INFO L290 TraceCheckUtils]: 111: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:33,229 INFO L290 TraceCheckUtils]: 112: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:33,229 INFO L290 TraceCheckUtils]: 113: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:33,229 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:33,230 INFO L290 TraceCheckUtils]: 115: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {14056#false} is VALID [2022-04-28 06:30:33,230 INFO L272 TraceCheckUtils]: 116: Hoare triple {14056#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {14056#false} is VALID [2022-04-28 06:30:33,230 INFO L290 TraceCheckUtils]: 117: Hoare triple {14056#false} ~cond := #in~cond; {14056#false} is VALID [2022-04-28 06:30:33,230 INFO L290 TraceCheckUtils]: 118: Hoare triple {14056#false} assume 0 == ~cond; {14056#false} is VALID [2022-04-28 06:30:33,230 INFO L290 TraceCheckUtils]: 119: Hoare triple {14056#false} assume !false; {14056#false} is VALID [2022-04-28 06:30:33,230 INFO L134 CoverageAnalysis]: Checked inductivity of 558 backedges. 62 proven. 4 refuted. 0 times theorem prover too weak. 492 trivial. 0 not checked. [2022-04-28 06:30:33,230 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:30:34,018 INFO L290 TraceCheckUtils]: 119: Hoare triple {14056#false} assume !false; {14056#false} is VALID [2022-04-28 06:30:34,018 INFO L290 TraceCheckUtils]: 118: Hoare triple {14056#false} assume 0 == ~cond; {14056#false} is VALID [2022-04-28 06:30:34,018 INFO L290 TraceCheckUtils]: 117: Hoare triple {14056#false} ~cond := #in~cond; {14056#false} is VALID [2022-04-28 06:30:34,018 INFO L272 TraceCheckUtils]: 116: Hoare triple {14056#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {14056#false} is VALID [2022-04-28 06:30:34,018 INFO L290 TraceCheckUtils]: 115: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume !(1 != ~p~0); {14056#false} is VALID [2022-04-28 06:30:34,019 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #95#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:34,019 INFO L290 TraceCheckUtils]: 113: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,019 INFO L290 TraceCheckUtils]: 112: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,019 INFO L290 TraceCheckUtils]: 111: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,019 INFO L272 TraceCheckUtils]: 110: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,020 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #93#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:34,020 INFO L290 TraceCheckUtils]: 108: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,020 INFO L290 TraceCheckUtils]: 107: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,020 INFO L290 TraceCheckUtils]: 106: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,020 INFO L272 TraceCheckUtils]: 105: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,020 INFO L290 TraceCheckUtils]: 104: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume !false; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:34,020 INFO L290 TraceCheckUtils]: 103: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:34,022 INFO L290 TraceCheckUtils]: 102: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:34,022 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:34,022 INFO L290 TraceCheckUtils]: 100: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,022 INFO L290 TraceCheckUtils]: 99: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,022 INFO L290 TraceCheckUtils]: 98: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,022 INFO L272 TraceCheckUtils]: 97: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,023 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:34,023 INFO L290 TraceCheckUtils]: 95: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,023 INFO L290 TraceCheckUtils]: 94: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,023 INFO L290 TraceCheckUtils]: 93: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,023 INFO L272 TraceCheckUtils]: 92: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,023 INFO L290 TraceCheckUtils]: 91: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:34,024 INFO L290 TraceCheckUtils]: 90: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:34,024 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:34,024 INFO L290 TraceCheckUtils]: 88: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,024 INFO L290 TraceCheckUtils]: 87: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,024 INFO L290 TraceCheckUtils]: 86: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,024 INFO L272 TraceCheckUtils]: 85: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,025 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:34,025 INFO L290 TraceCheckUtils]: 83: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,025 INFO L290 TraceCheckUtils]: 82: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,025 INFO L290 TraceCheckUtils]: 81: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,025 INFO L272 TraceCheckUtils]: 80: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,025 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:34,026 INFO L290 TraceCheckUtils]: 78: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,026 INFO L290 TraceCheckUtils]: 77: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,026 INFO L290 TraceCheckUtils]: 76: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,026 INFO L272 TraceCheckUtils]: 75: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,026 INFO L290 TraceCheckUtils]: 74: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:34,027 INFO L290 TraceCheckUtils]: 73: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 06:30:34,028 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #91#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:34,028 INFO L290 TraceCheckUtils]: 71: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,028 INFO L290 TraceCheckUtils]: 70: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,028 INFO L290 TraceCheckUtils]: 69: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,028 INFO L272 TraceCheckUtils]: 68: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,028 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #89#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:34,028 INFO L290 TraceCheckUtils]: 66: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,028 INFO L290 TraceCheckUtils]: 65: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,029 INFO L290 TraceCheckUtils]: 64: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,029 INFO L272 TraceCheckUtils]: 63: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,029 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #87#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:34,029 INFO L290 TraceCheckUtils]: 61: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,029 INFO L290 TraceCheckUtils]: 60: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,029 INFO L290 TraceCheckUtils]: 59: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,029 INFO L272 TraceCheckUtils]: 58: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,029 INFO L290 TraceCheckUtils]: 57: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume !false; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:34,030 INFO L290 TraceCheckUtils]: 56: Hoare triple {14126#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 06:30:34,031 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #91#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:34,031 INFO L290 TraceCheckUtils]: 54: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,031 INFO L290 TraceCheckUtils]: 53: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,031 INFO L290 TraceCheckUtils]: 52: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,031 INFO L272 TraceCheckUtils]: 51: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,031 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #89#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:34,031 INFO L290 TraceCheckUtils]: 49: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,031 INFO L290 TraceCheckUtils]: 48: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,031 INFO L290 TraceCheckUtils]: 47: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,032 INFO L272 TraceCheckUtils]: 46: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,032 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #87#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:34,032 INFO L290 TraceCheckUtils]: 44: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,032 INFO L290 TraceCheckUtils]: 43: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,032 INFO L290 TraceCheckUtils]: 42: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,032 INFO L272 TraceCheckUtils]: 41: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,032 INFO L290 TraceCheckUtils]: 40: Hoare triple {14126#(<= 1 main_~p~0)} assume !false; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:34,033 INFO L290 TraceCheckUtils]: 39: Hoare triple {14126#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:34,033 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #91#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:34,033 INFO L290 TraceCheckUtils]: 37: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,034 INFO L290 TraceCheckUtils]: 36: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,034 INFO L290 TraceCheckUtils]: 35: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,034 INFO L272 TraceCheckUtils]: 34: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,034 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #89#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:34,034 INFO L290 TraceCheckUtils]: 32: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,034 INFO L290 TraceCheckUtils]: 31: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,034 INFO L290 TraceCheckUtils]: 30: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,034 INFO L272 TraceCheckUtils]: 29: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,035 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #87#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:34,035 INFO L290 TraceCheckUtils]: 27: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,035 INFO L290 TraceCheckUtils]: 26: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,035 INFO L290 TraceCheckUtils]: 25: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,035 INFO L272 TraceCheckUtils]: 24: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,035 INFO L290 TraceCheckUtils]: 23: Hoare triple {14126#(<= 1 main_~p~0)} assume !false; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:34,036 INFO L290 TraceCheckUtils]: 22: Hoare triple {14055#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 06:30:34,036 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14055#true} {14055#true} #85#return; {14055#true} is VALID [2022-04-28 06:30:34,036 INFO L290 TraceCheckUtils]: 20: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,036 INFO L290 TraceCheckUtils]: 19: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,036 INFO L290 TraceCheckUtils]: 18: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,036 INFO L272 TraceCheckUtils]: 17: Hoare triple {14055#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,036 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14055#true} {14055#true} #83#return; {14055#true} is VALID [2022-04-28 06:30:34,036 INFO L290 TraceCheckUtils]: 15: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,036 INFO L290 TraceCheckUtils]: 14: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,036 INFO L290 TraceCheckUtils]: 13: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,036 INFO L272 TraceCheckUtils]: 12: Hoare triple {14055#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,036 INFO L290 TraceCheckUtils]: 11: Hoare triple {14055#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {14055#true} is VALID [2022-04-28 06:30:34,036 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14055#true} {14055#true} #81#return; {14055#true} is VALID [2022-04-28 06:30:34,037 INFO L290 TraceCheckUtils]: 9: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,037 INFO L290 TraceCheckUtils]: 8: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 06:30:34,037 INFO L290 TraceCheckUtils]: 7: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 06:30:34,037 INFO L272 TraceCheckUtils]: 6: Hoare triple {14055#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {14055#true} is VALID [2022-04-28 06:30:34,037 INFO L290 TraceCheckUtils]: 5: Hoare triple {14055#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {14055#true} is VALID [2022-04-28 06:30:34,037 INFO L272 TraceCheckUtils]: 4: Hoare triple {14055#true} call #t~ret6 := main(); {14055#true} is VALID [2022-04-28 06:30:34,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14055#true} {14055#true} #101#return; {14055#true} is VALID [2022-04-28 06:30:34,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 06:30:34,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {14055#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {14055#true} is VALID [2022-04-28 06:30:34,037 INFO L272 TraceCheckUtils]: 0: Hoare triple {14055#true} call ULTIMATE.init(); {14055#true} is VALID [2022-04-28 06:30:34,038 INFO L134 CoverageAnalysis]: Checked inductivity of 558 backedges. 57 proven. 4 refuted. 0 times theorem prover too weak. 497 trivial. 0 not checked. [2022-04-28 06:30:34,038 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:30:34,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1146723352] [2022-04-28 06:30:34,038 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:30:34,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1953712715] [2022-04-28 06:30:34,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1953712715] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:30:34,038 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:30:34,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 6 [2022-04-28 06:30:34,038 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:30:34,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1724457139] [2022-04-28 06:30:34,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1724457139] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:30:34,039 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:30:34,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:30:34,039 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2002134826] [2022-04-28 06:30:34,040 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:30:34,040 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) Word has length 120 [2022-04-28 06:30:34,041 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:30:34,041 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-28 06:30:34,109 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:30:34,109 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:30:34,109 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:30:34,110 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:30:34,110 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:30:34,110 INFO L87 Difference]: Start difference. First operand 124 states and 142 transitions. Second operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-28 06:30:34,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:30:34,541 INFO L93 Difference]: Finished difference Result 150 states and 178 transitions. [2022-04-28 06:30:34,541 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 06:30:34,541 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) Word has length 120 [2022-04-28 06:30:34,541 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:30:34,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-28 06:30:34,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2022-04-28 06:30:34,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-28 06:30:34,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2022-04-28 06:30:34,544 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 99 transitions. [2022-04-28 06:30:34,662 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:30:34,664 INFO L225 Difference]: With dead ends: 150 [2022-04-28 06:30:34,664 INFO L226 Difference]: Without dead ends: 137 [2022-04-28 06:30:34,664 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 239 GetRequests, 230 SyntacticMatches, 5 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:30:34,665 INFO L413 NwaCegarLoop]: 66 mSDtfsCounter, 14 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 61 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:30:34,665 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 138 Invalid, 61 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:30:34,665 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-28 06:30:34,775 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 137. [2022-04-28 06:30:34,775 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:30:34,776 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 06:30:34,776 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 06:30:34,776 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 06:30:34,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:30:34,778 INFO L93 Difference]: Finished difference Result 137 states and 162 transitions. [2022-04-28 06:30:34,778 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 162 transitions. [2022-04-28 06:30:34,778 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:30:34,778 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:30:34,779 INFO L74 IsIncluded]: Start isIncluded. First operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 137 states. [2022-04-28 06:30:34,779 INFO L87 Difference]: Start difference. First operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 137 states. [2022-04-28 06:30:34,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:30:34,781 INFO L93 Difference]: Finished difference Result 137 states and 162 transitions. [2022-04-28 06:30:34,782 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 162 transitions. [2022-04-28 06:30:34,782 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:30:34,782 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:30:34,782 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:30:34,782 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:30:34,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 06:30:34,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 162 transitions. [2022-04-28 06:30:34,784 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 162 transitions. Word has length 120 [2022-04-28 06:30:34,785 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:30:34,785 INFO L495 AbstractCegarLoop]: Abstraction has 137 states and 162 transitions. [2022-04-28 06:30:34,785 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-28 06:30:34,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 137 states and 162 transitions. [2022-04-28 06:30:35,083 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:30:35,083 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 162 transitions. [2022-04-28 06:30:35,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-28 06:30:35,084 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:30:35,084 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:30:35,104 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 06:30:35,298 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 06:30:35,298 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:30:35,298 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:30:35,298 INFO L85 PathProgramCache]: Analyzing trace with hash 515319041, now seen corresponding path program 13 times [2022-04-28 06:30:35,298 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:30:35,299 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [538943814] [2022-04-28 06:30:35,299 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:30:35,299 INFO L85 PathProgramCache]: Analyzing trace with hash 515319041, now seen corresponding path program 14 times [2022-04-28 06:30:35,299 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:30:35,299 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1378896242] [2022-04-28 06:30:35,299 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:30:35,299 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:30:35,310 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:30:35,310 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [766113869] [2022-04-28 06:30:35,310 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:30:35,310 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:30:35,310 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:30:35,311 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:30:35,311 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 06:30:35,429 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:30:35,429 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:30:35,430 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-28 06:30:35,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:30:35,452 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:30:45,395 INFO L272 TraceCheckUtils]: 0: Hoare triple {15628#true} call ULTIMATE.init(); {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L290 TraceCheckUtils]: 1: Hoare triple {15628#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L290 TraceCheckUtils]: 2: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15628#true} {15628#true} #101#return; {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L272 TraceCheckUtils]: 4: Hoare triple {15628#true} call #t~ret6 := main(); {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L290 TraceCheckUtils]: 5: Hoare triple {15628#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L272 TraceCheckUtils]: 6: Hoare triple {15628#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L290 TraceCheckUtils]: 8: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L290 TraceCheckUtils]: 9: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15628#true} {15628#true} #81#return; {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L290 TraceCheckUtils]: 11: Hoare triple {15628#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L272 TraceCheckUtils]: 12: Hoare triple {15628#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L290 TraceCheckUtils]: 13: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,396 INFO L290 TraceCheckUtils]: 14: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,397 INFO L290 TraceCheckUtils]: 15: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,397 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15628#true} {15628#true} #83#return; {15628#true} is VALID [2022-04-28 06:30:45,397 INFO L272 TraceCheckUtils]: 17: Hoare triple {15628#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,397 INFO L290 TraceCheckUtils]: 18: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,397 INFO L290 TraceCheckUtils]: 19: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,397 INFO L290 TraceCheckUtils]: 20: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,397 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15628#true} {15628#true} #85#return; {15628#true} is VALID [2022-04-28 06:30:45,397 INFO L290 TraceCheckUtils]: 22: Hoare triple {15628#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:30:45,398 INFO L290 TraceCheckUtils]: 23: Hoare triple {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:30:45,398 INFO L272 TraceCheckUtils]: 24: Hoare triple {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,398 INFO L290 TraceCheckUtils]: 25: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,398 INFO L290 TraceCheckUtils]: 26: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,398 INFO L290 TraceCheckUtils]: 27: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,399 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15628#true} {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:30:45,399 INFO L272 TraceCheckUtils]: 29: Hoare triple {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,399 INFO L290 TraceCheckUtils]: 30: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,399 INFO L290 TraceCheckUtils]: 31: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,399 INFO L290 TraceCheckUtils]: 32: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,399 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15628#true} {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:30:45,399 INFO L272 TraceCheckUtils]: 34: Hoare triple {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,400 INFO L290 TraceCheckUtils]: 35: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,400 INFO L290 TraceCheckUtils]: 36: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,400 INFO L290 TraceCheckUtils]: 37: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,400 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {15628#true} {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:30:45,403 INFO L290 TraceCheckUtils]: 39: Hoare triple {15699#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-28 06:30:45,403 INFO L290 TraceCheckUtils]: 40: Hoare triple {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} assume !false; {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-28 06:30:45,403 INFO L272 TraceCheckUtils]: 41: Hoare triple {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,403 INFO L290 TraceCheckUtils]: 42: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,403 INFO L290 TraceCheckUtils]: 43: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,403 INFO L290 TraceCheckUtils]: 44: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,404 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {15628#true} {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} #87#return; {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-28 06:30:45,404 INFO L272 TraceCheckUtils]: 46: Hoare triple {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,404 INFO L290 TraceCheckUtils]: 47: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,404 INFO L290 TraceCheckUtils]: 48: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,404 INFO L290 TraceCheckUtils]: 49: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,405 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15628#true} {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} #89#return; {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-28 06:30:45,405 INFO L272 TraceCheckUtils]: 51: Hoare triple {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,405 INFO L290 TraceCheckUtils]: 52: Hoare triple {15628#true} ~cond := #in~cond; {15791#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:30:45,405 INFO L290 TraceCheckUtils]: 53: Hoare triple {15791#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:30:45,406 INFO L290 TraceCheckUtils]: 54: Hoare triple {15795#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:30:45,406 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {15795#(not (= |__VERIFIER_assert_#in~cond| 0))} {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} #91#return; {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-28 06:30:45,408 INFO L290 TraceCheckUtils]: 56: Hoare triple {15751#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:30:45,409 INFO L290 TraceCheckUtils]: 57: Hoare triple {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:30:45,409 INFO L272 TraceCheckUtils]: 58: Hoare triple {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,409 INFO L290 TraceCheckUtils]: 59: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,409 INFO L290 TraceCheckUtils]: 60: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,409 INFO L290 TraceCheckUtils]: 61: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,410 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15628#true} {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #87#return; {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:30:45,410 INFO L272 TraceCheckUtils]: 63: Hoare triple {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,410 INFO L290 TraceCheckUtils]: 64: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,410 INFO L290 TraceCheckUtils]: 65: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,410 INFO L290 TraceCheckUtils]: 66: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,411 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {15628#true} {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #89#return; {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:30:45,411 INFO L272 TraceCheckUtils]: 68: Hoare triple {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,411 INFO L290 TraceCheckUtils]: 69: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,411 INFO L290 TraceCheckUtils]: 70: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,411 INFO L290 TraceCheckUtils]: 71: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,411 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15628#true} {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #91#return; {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:30:45,413 INFO L290 TraceCheckUtils]: 73: Hoare triple {15805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:30:45,414 INFO L290 TraceCheckUtils]: 74: Hoare triple {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:30:45,414 INFO L272 TraceCheckUtils]: 75: Hoare triple {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,414 INFO L290 TraceCheckUtils]: 76: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,414 INFO L290 TraceCheckUtils]: 77: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,414 INFO L290 TraceCheckUtils]: 78: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,415 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {15628#true} {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #87#return; {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:30:45,415 INFO L272 TraceCheckUtils]: 80: Hoare triple {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,415 INFO L290 TraceCheckUtils]: 81: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,415 INFO L290 TraceCheckUtils]: 82: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,415 INFO L290 TraceCheckUtils]: 83: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,415 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {15628#true} {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #89#return; {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:30:45,415 INFO L272 TraceCheckUtils]: 85: Hoare triple {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,416 INFO L290 TraceCheckUtils]: 86: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,416 INFO L290 TraceCheckUtils]: 87: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,416 INFO L290 TraceCheckUtils]: 88: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,416 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {15628#true} {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #91#return; {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:30:45,417 INFO L290 TraceCheckUtils]: 90: Hoare triple {15857#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !(~r~0 >= ~d~0); {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:30:45,417 INFO L290 TraceCheckUtils]: 91: Hoare triple {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:30:45,417 INFO L272 TraceCheckUtils]: 92: Hoare triple {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,417 INFO L290 TraceCheckUtils]: 93: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,417 INFO L290 TraceCheckUtils]: 94: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,417 INFO L290 TraceCheckUtils]: 95: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,418 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {15628#true} {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #93#return; {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:30:45,418 INFO L272 TraceCheckUtils]: 97: Hoare triple {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,418 INFO L290 TraceCheckUtils]: 98: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,418 INFO L290 TraceCheckUtils]: 99: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,418 INFO L290 TraceCheckUtils]: 100: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,419 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {15628#true} {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #95#return; {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:30:45,421 INFO L290 TraceCheckUtils]: 102: Hoare triple {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15946#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:30:45,424 INFO L290 TraceCheckUtils]: 103: Hoare triple {15946#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:30:45,424 INFO L290 TraceCheckUtils]: 104: Hoare triple {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} assume !false; {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:30:45,424 INFO L272 TraceCheckUtils]: 105: Hoare triple {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,425 INFO L290 TraceCheckUtils]: 106: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,425 INFO L290 TraceCheckUtils]: 107: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,425 INFO L290 TraceCheckUtils]: 108: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,425 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {15628#true} {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} #93#return; {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:30:45,425 INFO L272 TraceCheckUtils]: 110: Hoare triple {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 06:30:45,425 INFO L290 TraceCheckUtils]: 111: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 06:30:45,425 INFO L290 TraceCheckUtils]: 112: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 06:30:45,426 INFO L290 TraceCheckUtils]: 113: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 06:30:45,426 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {15628#true} {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} #95#return; {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:30:45,428 INFO L290 TraceCheckUtils]: 115: Hoare triple {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15987#(and (= main_~p~0 (div main_~q~0 2)) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 8 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 4))} is VALID [2022-04-28 06:30:45,431 INFO L290 TraceCheckUtils]: 116: Hoare triple {15987#(and (= main_~p~0 (div main_~q~0 2)) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 8 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15991#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 06:30:45,431 INFO L290 TraceCheckUtils]: 117: Hoare triple {15991#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)))} assume !false; {15991#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 06:30:45,432 INFO L272 TraceCheckUtils]: 118: Hoare triple {15991#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:30:45,432 INFO L290 TraceCheckUtils]: 119: Hoare triple {15998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:30:45,433 INFO L290 TraceCheckUtils]: 120: Hoare triple {16002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15629#false} is VALID [2022-04-28 06:30:45,433 INFO L290 TraceCheckUtils]: 121: Hoare triple {15629#false} assume !false; {15629#false} is VALID [2022-04-28 06:30:45,433 INFO L134 CoverageAnalysis]: Checked inductivity of 563 backedges. 46 proven. 70 refuted. 0 times theorem prover too weak. 447 trivial. 0 not checked. [2022-04-28 06:30:45,433 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:31:31,495 WARN L232 SmtUtils]: Spent 8.00s on a formula simplification that was a NOOP. DAG size: 142 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)