/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_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 06:13:40,751 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 06:13:40,752 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 06:13:40,780 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 06:13:40,780 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 06:13:40,781 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 06:13:40,782 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 06:13:40,783 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 06:13:40,784 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 06:13:40,784 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 06:13:40,785 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 06:13:40,786 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 06:13:40,786 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 06:13:40,787 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 06:13:40,787 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 06:13:40,788 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 06:13:40,789 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 06:13:40,789 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 06:13:40,791 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 06:13:40,798 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 06:13:40,799 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 06:13:40,802 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 06:13:40,803 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 06:13:40,803 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 06:13:40,804 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 06:13:40,806 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 06:13:40,806 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 06:13:40,806 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 06:13:40,807 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 06:13:40,807 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 06:13:40,807 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 06:13:40,808 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 06:13:40,808 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 06:13:40,809 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 06:13:40,809 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 06:13:40,810 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 06:13:40,810 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 06:13:40,810 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 06:13:40,810 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 06:13:40,811 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 06:13:40,816 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 06:13:40,818 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 06:13:40,819 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:13:40,830 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 06:13:40,830 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 06:13:40,831 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 06:13:40,831 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 06:13:40,831 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 06:13:40,831 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 06:13:40,831 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 06:13:40,831 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 06:13:40,832 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 06:13:40,832 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 06:13:40,832 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 06:13:40,832 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 06:13:40,832 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 06:13:40,832 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 06:13:40,833 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 06:13:40,833 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 06:13:40,833 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 06:13:40,833 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 06:13:40,833 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 06:13:40,833 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 06:13:40,833 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 06:13:40,833 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 06:13:40,833 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 06:13:40,833 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 06:13:40,833 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 06:13:40,833 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:13:41,023 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 06:13:41,041 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 06:13:41,043 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 06:13:41,044 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 06:13:41,044 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 06:13:41,045 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound100.c [2022-04-28 06:13:41,090 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/db5f66f1e/0d8d7e9afd1240cf8d828674e4572ebf/FLAGd54f071b9 [2022-04-28 06:13:41,452 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 06:13:41,452 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound100.c [2022-04-28 06:13:41,457 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/db5f66f1e/0d8d7e9afd1240cf8d828674e4572ebf/FLAGd54f071b9 [2022-04-28 06:13:41,471 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/db5f66f1e/0d8d7e9afd1240cf8d828674e4572ebf [2022-04-28 06:13:41,473 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 06:13:41,473 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 06:13:41,476 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 06:13:41,476 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 06:13:41,479 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 06:13:41,482 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 06:13:41" (1/1) ... [2022-04-28 06:13:41,483 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@44f45330 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:13:41, skipping insertion in model container [2022-04-28 06:13:41,483 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 06:13:41" (1/1) ... [2022-04-28 06:13:41,487 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 06:13:41,498 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 06:13:41,608 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_unwindbound100.c[538,551] [2022-04-28 06:13:41,652 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 06:13:41,658 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 06:13:41,666 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_unwindbound100.c[538,551] [2022-04-28 06:13:41,672 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 06:13:41,684 INFO L208 MainTranslator]: Completed translation [2022-04-28 06:13:41,684 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:13:41 WrapperNode [2022-04-28 06:13:41,685 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 06:13:41,685 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 06:13:41,685 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 06:13:41,685 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 06:13:41,692 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:13:41" (1/1) ... [2022-04-28 06:13:41,692 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:13:41" (1/1) ... [2022-04-28 06:13:41,698 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:13:41" (1/1) ... [2022-04-28 06:13:41,698 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:13:41" (1/1) ... [2022-04-28 06:13:41,713 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:13:41" (1/1) ... [2022-04-28 06:13:41,718 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:13:41" (1/1) ... [2022-04-28 06:13:41,722 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:13:41" (1/1) ... [2022-04-28 06:13:41,723 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 06:13:41,724 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 06:13:41,724 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 06:13:41,724 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 06:13:41,725 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:13:41" (1/1) ... [2022-04-28 06:13:41,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 06:13:41,739 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:13:41,749 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:13:41,764 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:13:41,774 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 06:13:41,775 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 06:13:41,775 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 06:13:41,775 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 06:13:41,775 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 06:13:41,775 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 06:13:41,775 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 06:13:41,775 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 06:13:41,775 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 06:13:41,775 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 06:13:41,775 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-28 06:13:41,775 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 06:13:41,775 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 06:13:41,775 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 06:13:41,776 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 06:13:41,776 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 06:13:41,776 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 06:13:41,776 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 06:13:41,776 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 06:13:41,776 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 06:13:41,827 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 06:13:41,829 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 06:13:42,040 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 06:13:42,045 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 06:13:42,045 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 06:13:42,046 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 06:13:42 BoogieIcfgContainer [2022-04-28 06:13:42,046 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 06:13:42,047 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 06:13:42,047 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 06:13:42,050 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 06:13:42,050 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 06:13:41" (1/3) ... [2022-04-28 06:13:42,051 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@19f9fdab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 06:13:42, skipping insertion in model container [2022-04-28 06:13:42,051 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:13:41" (2/3) ... [2022-04-28 06:13:42,051 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@19f9fdab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 06:13:42, skipping insertion in model container [2022-04-28 06:13:42,051 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 06:13:42" (3/3) ... [2022-04-28 06:13:42,052 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_unwindbound100.c [2022-04-28 06:13:42,062 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 06:13:42,062 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 06:13:42,117 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 06:13:42,124 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@4b1775d1, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@79ca3a55 [2022-04-28 06:13:42,124 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 06:13:42,139 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:13:42,144 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 06:13:42,144 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:13:42,144 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:13:42,145 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:13:42,149 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:13:42,149 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 1 times [2022-04-28 06:13:42,155 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:42,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [904444084] [2022-04-28 06:13:42,165 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:13:42,165 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 2 times [2022-04-28 06:13:42,167 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:13:42,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [699023486] [2022-04-28 06:13:42,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:13:42,169 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:13:42,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:42,319 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:13:42,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:42,336 INFO L290 TraceCheckUtils]: 0: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {40#true} is VALID [2022-04-28 06:13:42,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 06:13:42,337 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-28 06:13:42,337 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:13:42,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:42,343 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 06:13:42,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 06:13:42,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 06:13:42,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-28 06:13:42,345 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:13:42,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {40#true} is VALID [2022-04-28 06:13:42,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 06:13:42,346 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-28 06:13:42,346 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret8 := main(); {40#true} is VALID [2022-04-28 06:13:42,346 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#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;~B~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-28 06:13:42,346 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 06:13:42,347 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 06:13:42,347 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 06:13:42,347 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 06:13:42,348 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-28 06:13:42,349 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {41#false} is VALID [2022-04-28 06:13:42,349 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-28 06:13:42,349 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-28 06:13:42,349 INFO L272 TraceCheckUtils]: 14: Hoare triple {41#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {41#false} is VALID [2022-04-28 06:13:42,349 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-28 06:13:42,350 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-28 06:13:42,350 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-28 06:13:42,350 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 06:13:42,350 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:13:42,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [699023486] [2022-04-28 06:13:42,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [699023486] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:42,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:42,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 06:13:42,353 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:13:42,353 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [904444084] [2022-04-28 06:13:42,353 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [904444084] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:42,354 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:42,354 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 06:13:42,354 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1046971807] [2022-04-28 06:13:42,354 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:13:42,357 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 06:13:42,366 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:13:42,368 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:13:42,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:42,398 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 06:13:42,399 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:42,414 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 06:13:42,414 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 06:13:42,416 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:13:42,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:42,567 INFO L93 Difference]: Finished difference Result 66 states and 101 transitions. [2022-04-28 06:13:42,567 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 06:13:42,567 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 06:13:42,567 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:13:42,569 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:13:42,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-28 06:13:42,582 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:13:42,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-28 06:13:42,592 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 101 transitions. [2022-04-28 06:13:42,688 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:42,696 INFO L225 Difference]: With dead ends: 66 [2022-04-28 06:13:42,696 INFO L226 Difference]: Without dead ends: 33 [2022-04-28 06:13:42,699 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 06:13:42,702 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 33 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:13:42,703 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 49 Invalid, 33 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:13:42,714 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-28 06:13:42,733 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2022-04-28 06:13:42,734 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:13:42,735 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:42,735 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:42,736 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:42,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:42,740 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 06:13:42,740 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 06:13:42,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:42,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:42,742 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-28 06:13:42,743 INFO L87 Difference]: Start difference. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-28 06:13:42,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:42,752 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 06:13:42,753 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 06:13:42,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:42,757 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:42,757 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:13:42,757 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:13:42,758 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:42,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-28 06:13:42,760 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 18 [2022-04-28 06:13:42,760 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:13:42,761 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-28 06:13:42,761 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:13:42,761 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-28 06:13:42,797 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:42,798 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 06:13:42,798 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 06:13:42,798 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:13:42,798 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:13:42,799 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 06:13:42,799 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:13:42,799 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:13:42,799 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 1 times [2022-04-28 06:13:42,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:42,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [104135427] [2022-04-28 06:13:42,801 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:13:42,801 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 2 times [2022-04-28 06:13:42,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:13:42,803 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1699719423] [2022-04-28 06:13:42,804 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:13:42,804 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:13:42,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:42,896 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:13:42,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:42,916 INFO L290 TraceCheckUtils]: 0: Hoare triple {326#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {314#true} is VALID [2022-04-28 06:13:42,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 06:13:42,917 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {314#true} {314#true} #96#return; {314#true} is VALID [2022-04-28 06:13:42,917 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:13:42,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:42,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {314#true} ~cond := #in~cond; {314#true} is VALID [2022-04-28 06:13:42,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {314#true} assume !(0 == ~cond); {314#true} is VALID [2022-04-28 06:13:42,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 06:13:42,922 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#true} {314#true} #80#return; {314#true} is VALID [2022-04-28 06:13:42,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {314#true} call ULTIMATE.init(); {326#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:13:42,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {314#true} is VALID [2022-04-28 06:13:42,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 06:13:42,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#true} {314#true} #96#return; {314#true} is VALID [2022-04-28 06:13:42,923 INFO L272 TraceCheckUtils]: 4: Hoare triple {314#true} call #t~ret8 := main(); {314#true} is VALID [2022-04-28 06:13:42,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {314#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;~B~0 := #t~nondet5;havoc #t~nondet5; {314#true} is VALID [2022-04-28 06:13:42,923 INFO L272 TraceCheckUtils]: 6: Hoare triple {314#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {314#true} is VALID [2022-04-28 06:13:42,923 INFO L290 TraceCheckUtils]: 7: Hoare triple {314#true} ~cond := #in~cond; {314#true} is VALID [2022-04-28 06:13:42,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {314#true} assume !(0 == ~cond); {314#true} is VALID [2022-04-28 06:13:42,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 06:13:42,924 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {314#true} {314#true} #80#return; {314#true} is VALID [2022-04-28 06:13:42,924 INFO L290 TraceCheckUtils]: 11: Hoare triple {314#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {323#(= main_~q~0 0)} is VALID [2022-04-28 06:13:42,925 INFO L290 TraceCheckUtils]: 12: Hoare triple {323#(= main_~q~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {323#(= main_~q~0 0)} is VALID [2022-04-28 06:13:42,925 INFO L290 TraceCheckUtils]: 13: Hoare triple {323#(= main_~q~0 0)} assume !!(#t~post6 < 100);havoc #t~post6; {323#(= main_~q~0 0)} is VALID [2022-04-28 06:13:42,926 INFO L272 TraceCheckUtils]: 14: Hoare triple {323#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:13:42,927 INFO L290 TraceCheckUtils]: 15: Hoare triple {324#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {325#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:13:42,927 INFO L290 TraceCheckUtils]: 16: Hoare triple {325#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {315#false} is VALID [2022-04-28 06:13:42,927 INFO L290 TraceCheckUtils]: 17: Hoare triple {315#false} assume !false; {315#false} is VALID [2022-04-28 06:13:42,927 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 06:13:42,928 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:13:42,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1699719423] [2022-04-28 06:13:42,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1699719423] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:42,928 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:42,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:13:42,928 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:13:42,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [104135427] [2022-04-28 06:13:42,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [104135427] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:42,929 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:42,929 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:13:42,929 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1877069827] [2022-04-28 06:13:42,929 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:13:42,932 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 06:13:42,932 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:13:42,932 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:13:42,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:42,947 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:13:42,947 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:42,948 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:13:42,948 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:13:42,948 INFO L87 Difference]: Start difference. First operand 32 states and 42 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:13:43,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:43,247 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-28 06:13:43,248 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:13:43,248 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 06:13:43,248 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:13:43,248 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:13:43,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 06:13:43,251 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:13:43,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 06:13:43,254 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-28 06:13:43,309 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:13:43,315 INFO L225 Difference]: With dead ends: 47 [2022-04-28 06:13:43,315 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 06:13:43,317 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:13:43,319 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 28 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 99 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 90 SdHoareTripleChecker+Invalid, 113 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 99 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:13:43,319 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 90 Invalid, 113 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 99 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:13:43,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 06:13:43,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 36. [2022-04-28 06:13:43,327 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:13:43,327 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:43,327 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:43,327 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:43,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:43,329 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-28 06:13:43,329 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-28 06:13:43,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:43,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:43,330 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 06:13:43,331 INFO L87 Difference]: Start difference. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 06:13:43,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:43,332 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-28 06:13:43,332 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-28 06:13:43,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:43,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:43,333 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:13:43,333 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:13:43,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:43,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 45 transitions. [2022-04-28 06:13:43,335 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 45 transitions. Word has length 18 [2022-04-28 06:13:43,335 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:13:43,335 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 45 transitions. [2022-04-28 06:13:43,335 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:13:43,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 45 transitions. [2022-04-28 06:13:43,368 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:43,369 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 45 transitions. [2022-04-28 06:13:43,372 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-28 06:13:43,372 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:13:43,374 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:13:43,374 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 06:13:43,375 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:13:43,376 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:13:43,376 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 1 times [2022-04-28 06:13:43,376 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:43,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1368020919] [2022-04-28 06:13:43,377 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:13:43,378 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 2 times [2022-04-28 06:13:43,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:13:43,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1500818464] [2022-04-28 06:13:43,378 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:13:43,378 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:13:43,401 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:13:43,401 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [486536987] [2022-04-28 06:13:43,401 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:13:43,401 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:13:43,402 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:13:43,412 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:13:43,413 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:13:43,451 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 06:13:43,451 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:13:43,467 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 06:13:43,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:43,499 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:13:43,613 INFO L272 TraceCheckUtils]: 0: Hoare triple {593#true} call ULTIMATE.init(); {593#true} is VALID [2022-04-28 06:13:43,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {593#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);~counter~0 := 0; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:43,614 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#(<= ~counter~0 0)} assume true; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:43,615 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {601#(<= ~counter~0 0)} {593#true} #96#return; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:43,615 INFO L272 TraceCheckUtils]: 4: Hoare triple {601#(<= ~counter~0 0)} call #t~ret8 := main(); {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:43,617 INFO L290 TraceCheckUtils]: 5: Hoare triple {601#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:43,617 INFO L272 TraceCheckUtils]: 6: Hoare triple {601#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:43,618 INFO L290 TraceCheckUtils]: 7: Hoare triple {601#(<= ~counter~0 0)} ~cond := #in~cond; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:43,618 INFO L290 TraceCheckUtils]: 8: Hoare triple {601#(<= ~counter~0 0)} assume !(0 == ~cond); {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:43,618 INFO L290 TraceCheckUtils]: 9: Hoare triple {601#(<= ~counter~0 0)} assume true; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:43,619 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {601#(<= ~counter~0 0)} {601#(<= ~counter~0 0)} #80#return; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:43,619 INFO L290 TraceCheckUtils]: 11: Hoare triple {601#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:43,620 INFO L290 TraceCheckUtils]: 12: Hoare triple {601#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {635#(<= |main_#t~post6| 0)} is VALID [2022-04-28 06:13:43,620 INFO L290 TraceCheckUtils]: 13: Hoare triple {635#(<= |main_#t~post6| 0)} assume !(#t~post6 < 100);havoc #t~post6; {594#false} is VALID [2022-04-28 06:13:43,620 INFO L290 TraceCheckUtils]: 14: Hoare triple {594#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {594#false} is VALID [2022-04-28 06:13:43,620 INFO L290 TraceCheckUtils]: 15: Hoare triple {594#false} assume !(#t~post7 < 100);havoc #t~post7; {594#false} is VALID [2022-04-28 06:13:43,620 INFO L272 TraceCheckUtils]: 16: Hoare triple {594#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {594#false} is VALID [2022-04-28 06:13:43,620 INFO L290 TraceCheckUtils]: 17: Hoare triple {594#false} ~cond := #in~cond; {594#false} is VALID [2022-04-28 06:13:43,621 INFO L290 TraceCheckUtils]: 18: Hoare triple {594#false} assume 0 == ~cond; {594#false} is VALID [2022-04-28 06:13:43,621 INFO L290 TraceCheckUtils]: 19: Hoare triple {594#false} assume !false; {594#false} is VALID [2022-04-28 06:13:43,621 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 06:13:43,621 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:13:43,621 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:13:43,621 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1500818464] [2022-04-28 06:13:43,621 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:13:43,622 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [486536987] [2022-04-28 06:13:43,622 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [486536987] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:43,622 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:43,622 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 06:13:43,622 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:13:43,622 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1368020919] [2022-04-28 06:13:43,622 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1368020919] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:43,622 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:43,623 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 06:13:43,623 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1767649403] [2022-04-28 06:13:43,623 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:13:43,623 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-28 06:13:43,623 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:13:43,623 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:13:43,634 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:43,634 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 06:13:43,635 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:43,635 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 06:13:43,635 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 06:13:43,635 INFO L87 Difference]: Start difference. First operand 36 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:13:43,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:43,709 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-04-28 06:13:43,709 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 06:13:43,709 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-28 06:13:43,710 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:13:43,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:13:43,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-28 06:13:43,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:13:43,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-28 06:13:43,716 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 64 transitions. [2022-04-28 06:13:43,753 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:43,755 INFO L225 Difference]: With dead ends: 52 [2022-04-28 06:13:43,755 INFO L226 Difference]: Without dead ends: 38 [2022-04-28 06:13:43,756 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 06:13:43,758 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 0 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:13:43,761 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 107 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:13:43,763 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-28 06:13:43,777 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-28 06:13:43,777 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:13:43,778 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:43,779 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:43,779 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:43,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:43,781 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-28 06:13:43,781 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-28 06:13:43,782 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:43,782 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:43,783 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-28 06:13:43,783 INFO L87 Difference]: Start difference. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-28 06:13:43,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:43,786 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-28 06:13:43,786 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-28 06:13:43,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:43,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:43,789 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:13:43,789 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:13:43,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:43,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 47 transitions. [2022-04-28 06:13:43,791 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 47 transitions. Word has length 20 [2022-04-28 06:13:43,791 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:13:43,791 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 47 transitions. [2022-04-28 06:13:43,791 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:13:43,791 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 47 transitions. [2022-04-28 06:13:43,822 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:43,822 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-28 06:13:43,823 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 06:13:43,823 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:13:43,823 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:13:43,842 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:13:44,031 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:13:44,032 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:13:44,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:13:44,032 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 1 times [2022-04-28 06:13:44,032 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:44,032 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1943406263] [2022-04-28 06:13:44,033 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:13:44,033 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 2 times [2022-04-28 06:13:44,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:13:44,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [892831193] [2022-04-28 06:13:44,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:13:44,033 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:13:44,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:44,085 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:13:44,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:44,107 INFO L290 TraceCheckUtils]: 0: Hoare triple {928#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {912#true} is VALID [2022-04-28 06:13:44,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 06:13:44,108 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {912#true} {912#true} #96#return; {912#true} is VALID [2022-04-28 06:13:44,108 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:13:44,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:44,113 INFO L290 TraceCheckUtils]: 0: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 06:13:44,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 06:13:44,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 06:13:44,113 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {912#true} #80#return; {912#true} is VALID [2022-04-28 06:13:44,114 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-28 06:13:44,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:44,118 INFO L290 TraceCheckUtils]: 0: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 06:13:44,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 06:13:44,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 06:13:44,119 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:13:44,119 INFO L272 TraceCheckUtils]: 0: Hoare triple {912#true} call ULTIMATE.init(); {928#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:13:44,119 INFO L290 TraceCheckUtils]: 1: Hoare triple {928#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {912#true} is VALID [2022-04-28 06:13:44,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 06:13:44,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {912#true} #96#return; {912#true} is VALID [2022-04-28 06:13:44,120 INFO L272 TraceCheckUtils]: 4: Hoare triple {912#true} call #t~ret8 := main(); {912#true} is VALID [2022-04-28 06:13:44,120 INFO L290 TraceCheckUtils]: 5: Hoare triple {912#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;~B~0 := #t~nondet5;havoc #t~nondet5; {912#true} is VALID [2022-04-28 06:13:44,120 INFO L272 TraceCheckUtils]: 6: Hoare triple {912#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {912#true} is VALID [2022-04-28 06:13:44,120 INFO L290 TraceCheckUtils]: 7: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 06:13:44,120 INFO L290 TraceCheckUtils]: 8: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 06:13:44,120 INFO L290 TraceCheckUtils]: 9: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 06:13:44,120 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {912#true} {912#true} #80#return; {912#true} is VALID [2022-04-28 06:13:44,121 INFO L290 TraceCheckUtils]: 11: Hoare triple {912#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:13:44,122 INFO L290 TraceCheckUtils]: 12: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:13:44,122 INFO L290 TraceCheckUtils]: 13: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !!(#t~post6 < 100);havoc #t~post6; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:13:44,122 INFO L272 TraceCheckUtils]: 14: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {912#true} is VALID [2022-04-28 06:13:44,122 INFO L290 TraceCheckUtils]: 15: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 06:13:44,122 INFO L290 TraceCheckUtils]: 16: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 06:13:44,122 INFO L290 TraceCheckUtils]: 17: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 06:13:44,123 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {912#true} {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:13:44,123 INFO L272 TraceCheckUtils]: 19: Hoare triple {921#(= 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)); {926#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:13:44,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {926#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {927#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:13:44,124 INFO L290 TraceCheckUtils]: 21: Hoare triple {927#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {913#false} is VALID [2022-04-28 06:13:44,124 INFO L290 TraceCheckUtils]: 22: Hoare triple {913#false} assume !false; {913#false} is VALID [2022-04-28 06:13:44,124 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 06:13:44,125 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:13:44,125 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [892831193] [2022-04-28 06:13:44,125 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [892831193] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:44,125 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:44,125 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:13:44,125 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:13:44,125 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1943406263] [2022-04-28 06:13:44,125 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1943406263] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:44,125 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:44,125 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:13:44,125 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1546789681] [2022-04-28 06:13:44,125 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:13:44,126 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 06:13:44,126 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:13:44,126 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:13:44,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:44,139 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:13:44,139 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:44,139 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:13:44,139 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:13:44,139 INFO L87 Difference]: Start difference. First operand 38 states and 47 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:13:44,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:44,446 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-28 06:13:44,446 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:13:44,446 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 06:13:44,446 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:13:44,447 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:13:44,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 06:13:44,448 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:13:44,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 06:13:44,449 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-28 06:13:44,501 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:13:44,502 INFO L225 Difference]: With dead ends: 52 [2022-04-28 06:13:44,502 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 06:13:44,502 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:13:44,503 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 23 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:13:44,503 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 83 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:13:44,503 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 06:13:44,514 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 42. [2022-04-28 06:13:44,514 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:13:44,514 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:44,515 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:44,515 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:44,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:44,517 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-28 06:13:44,517 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 06:13:44,517 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:44,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:44,517 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-28 06:13:44,517 INFO L87 Difference]: Start difference. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-28 06:13:44,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:44,519 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-28 06:13:44,519 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 06:13:44,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:44,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:44,519 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:13:44,519 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:13:44,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:13:44,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2022-04-28 06:13:44,520 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 23 [2022-04-28 06:13:44,520 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:13:44,520 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2022-04-28 06:13:44,521 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:13:44,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 50 transitions. [2022-04-28 06:13:44,575 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:13:44,575 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2022-04-28 06:13:44,576 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 06:13:44,576 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:13:44,576 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:13:44,576 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-28 06:13:44,576 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:13:44,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:13:44,576 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 1 times [2022-04-28 06:13:44,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:44,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [181928352] [2022-04-28 06:13:44,577 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:13:44,577 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 2 times [2022-04-28 06:13:44,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:13:44,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1504873829] [2022-04-28 06:13:44,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:13:44,577 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:13:44,586 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:13:44,586 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [45797195] [2022-04-28 06:13:44,586 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:13:44,586 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:13:44,586 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:13:44,587 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:13:44,588 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:13:44,619 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:13:44,619 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:13:44,620 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:13:44,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:44,626 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:13:44,775 INFO L272 TraceCheckUtils]: 0: Hoare triple {1227#true} call ULTIMATE.init(); {1227#true} is VALID [2022-04-28 06:13:44,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {1227#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);~counter~0 := 0; {1227#true} is VALID [2022-04-28 06:13:44,775 INFO L290 TraceCheckUtils]: 2: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 06:13:44,775 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1227#true} {1227#true} #96#return; {1227#true} is VALID [2022-04-28 06:13:44,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {1227#true} call #t~ret8 := main(); {1227#true} is VALID [2022-04-28 06:13:44,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {1227#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;~B~0 := #t~nondet5;havoc #t~nondet5; {1227#true} is VALID [2022-04-28 06:13:44,776 INFO L272 TraceCheckUtils]: 6: Hoare triple {1227#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1227#true} is VALID [2022-04-28 06:13:44,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-28 06:13:44,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-28 06:13:44,776 INFO L290 TraceCheckUtils]: 9: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 06:13:44,776 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1227#true} {1227#true} #80#return; {1227#true} is VALID [2022-04-28 06:13:44,777 INFO L290 TraceCheckUtils]: 11: Hoare triple {1227#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:13:44,778 INFO L290 TraceCheckUtils]: 12: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:13:44,778 INFO L290 TraceCheckUtils]: 13: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:13:44,778 INFO L272 TraceCheckUtils]: 14: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1227#true} is VALID [2022-04-28 06:13:44,778 INFO L290 TraceCheckUtils]: 15: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-28 06:13:44,778 INFO L290 TraceCheckUtils]: 16: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-28 06:13:44,778 INFO L290 TraceCheckUtils]: 17: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 06:13:44,786 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1227#true} {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:13:44,786 INFO L272 TraceCheckUtils]: 19: Hoare triple {1265#(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)); {1227#true} is VALID [2022-04-28 06:13:44,786 INFO L290 TraceCheckUtils]: 20: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-28 06:13:44,786 INFO L290 TraceCheckUtils]: 21: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-28 06:13:44,786 INFO L290 TraceCheckUtils]: 22: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 06:13:44,787 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1227#true} {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:13:44,787 INFO L272 TraceCheckUtils]: 24: Hoare triple {1265#(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)); {1305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:13:44,788 INFO L290 TraceCheckUtils]: 25: Hoare triple {1305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:13:44,788 INFO L290 TraceCheckUtils]: 26: Hoare triple {1309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1228#false} is VALID [2022-04-28 06:13:44,788 INFO L290 TraceCheckUtils]: 27: Hoare triple {1228#false} assume !false; {1228#false} is VALID [2022-04-28 06:13:44,788 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 06:13:44,788 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:13:44,788 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:13:44,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1504873829] [2022-04-28 06:13:44,789 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:13:44,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [45797195] [2022-04-28 06:13:44,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [45797195] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:44,789 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:44,789 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:13:44,789 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:13:44,789 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [181928352] [2022-04-28 06:13:44,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [181928352] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:44,789 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:44,789 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:13:44,789 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1264333720] [2022-04-28 06:13:44,789 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:13:44,790 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 06:13:44,790 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:13:44,790 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:13:44,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:44,808 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:13:44,808 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:44,808 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:13:44,808 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:13:44,808 INFO L87 Difference]: Start difference. First operand 42 states and 50 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:13:44,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:44,986 INFO L93 Difference]: Finished difference Result 71 states and 93 transitions. [2022-04-28 06:13:44,986 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:13:44,986 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 06:13:44,986 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:13:44,986 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:13:44,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-28 06:13:44,988 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:13:44,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-28 06:13:44,989 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 87 transitions. [2022-04-28 06:13:45,054 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:45,056 INFO L225 Difference]: With dead ends: 71 [2022-04-28 06:13:45,056 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 06:13:45,056 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 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:13:45,056 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 10 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:13:45,057 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 143 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:13:45,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 06:13:45,073 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-28 06:13:45,073 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:13:45,074 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:13:45,074 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:13:45,074 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:13:45,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:45,076 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-28 06:13:45,076 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-28 06:13:45,076 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:45,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:45,077 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-28 06:13:45,077 INFO L87 Difference]: Start difference. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-28 06:13:45,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:45,078 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-28 06:13:45,079 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-28 06:13:45,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:45,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:45,079 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:13:45,079 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:13:45,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:13:45,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 70 transitions. [2022-04-28 06:13:45,081 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 70 transitions. Word has length 28 [2022-04-28 06:13:45,081 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:13:45,081 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 70 transitions. [2022-04-28 06:13:45,081 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:13:45,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 70 transitions. [2022-04-28 06:13:45,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:45,139 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-28 06:13:45,140 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 06:13:45,140 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:13:45,140 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:13:45,156 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:13:45,351 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:13:45,351 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:13:45,351 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:13:45,351 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 1 times [2022-04-28 06:13:45,352 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:45,352 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1576203831] [2022-04-28 06:13:45,352 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:13:45,352 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 2 times [2022-04-28 06:13:45,352 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:13:45,352 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [27868054] [2022-04-28 06:13:45,352 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:13:45,352 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:13:45,370 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:13:45,371 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [383933842] [2022-04-28 06:13:45,371 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:13:45,371 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:13:45,371 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:13:45,372 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:13:45,373 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:13:45,411 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:13:45,411 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:13:45,412 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:13:45,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:45,419 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:13:45,567 INFO L272 TraceCheckUtils]: 0: Hoare triple {1683#true} call ULTIMATE.init(); {1683#true} is VALID [2022-04-28 06:13:45,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {1683#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);~counter~0 := 0; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:45,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {1691#(<= ~counter~0 0)} assume true; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:45,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1691#(<= ~counter~0 0)} {1683#true} #96#return; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:45,569 INFO L272 TraceCheckUtils]: 4: Hoare triple {1691#(<= ~counter~0 0)} call #t~ret8 := main(); {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:45,569 INFO L290 TraceCheckUtils]: 5: Hoare triple {1691#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:45,569 INFO L272 TraceCheckUtils]: 6: Hoare triple {1691#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:45,570 INFO L290 TraceCheckUtils]: 7: Hoare triple {1691#(<= ~counter~0 0)} ~cond := #in~cond; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:45,570 INFO L290 TraceCheckUtils]: 8: Hoare triple {1691#(<= ~counter~0 0)} assume !(0 == ~cond); {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:45,570 INFO L290 TraceCheckUtils]: 9: Hoare triple {1691#(<= ~counter~0 0)} assume true; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:45,571 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1691#(<= ~counter~0 0)} {1691#(<= ~counter~0 0)} #80#return; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:45,571 INFO L290 TraceCheckUtils]: 11: Hoare triple {1691#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:13:45,571 INFO L290 TraceCheckUtils]: 12: Hoare triple {1691#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,572 INFO L290 TraceCheckUtils]: 13: Hoare triple {1725#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,572 INFO L272 TraceCheckUtils]: 14: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,572 INFO L290 TraceCheckUtils]: 15: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,573 INFO L290 TraceCheckUtils]: 16: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,573 INFO L290 TraceCheckUtils]: 17: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,574 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #82#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,574 INFO L272 TraceCheckUtils]: 19: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,575 INFO L290 TraceCheckUtils]: 21: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,575 INFO L290 TraceCheckUtils]: 22: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,575 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #84#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,576 INFO L272 TraceCheckUtils]: 24: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,576 INFO L290 TraceCheckUtils]: 25: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,576 INFO L290 TraceCheckUtils]: 26: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,577 INFO L290 TraceCheckUtils]: 27: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,577 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #86#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,578 INFO L290 TraceCheckUtils]: 29: Hoare triple {1725#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:13:45,578 INFO L290 TraceCheckUtils]: 30: Hoare triple {1725#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1780#(<= |main_#t~post7| 1)} is VALID [2022-04-28 06:13:45,578 INFO L290 TraceCheckUtils]: 31: Hoare triple {1780#(<= |main_#t~post7| 1)} assume !(#t~post7 < 100);havoc #t~post7; {1684#false} is VALID [2022-04-28 06:13:45,578 INFO L272 TraceCheckUtils]: 32: Hoare triple {1684#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {1684#false} is VALID [2022-04-28 06:13:45,579 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#false} ~cond := #in~cond; {1684#false} is VALID [2022-04-28 06:13:45,579 INFO L290 TraceCheckUtils]: 34: Hoare triple {1684#false} assume 0 == ~cond; {1684#false} is VALID [2022-04-28 06:13:45,579 INFO L290 TraceCheckUtils]: 35: Hoare triple {1684#false} assume !false; {1684#false} is VALID [2022-04-28 06:13:45,579 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 06:13:45,579 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:13:45,579 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:13:45,579 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [27868054] [2022-04-28 06:13:45,579 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:13:45,579 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [383933842] [2022-04-28 06:13:45,579 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [383933842] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:45,579 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:45,579 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:13:45,580 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:13:45,580 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1576203831] [2022-04-28 06:13:45,580 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1576203831] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:45,580 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:45,580 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:13:45,580 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1582783349] [2022-04-28 06:13:45,580 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:13:45,580 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), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-28 06:13:45,580 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:13:45,581 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), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:13:45,605 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:45,605 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:13:45,606 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:45,606 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:13:45,606 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:13:45,606 INFO L87 Difference]: Start difference. First operand 56 states and 70 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:13:45,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:45,719 INFO L93 Difference]: Finished difference Result 76 states and 86 transitions. [2022-04-28 06:13:45,719 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:13:45,719 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), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-28 06:13:45,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:13:45,719 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), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:13:45,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 06:13:45,720 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), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:13:45,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 06:13:45,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 06:13:45,763 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:45,765 INFO L225 Difference]: With dead ends: 76 [2022-04-28 06:13:45,765 INFO L226 Difference]: Without dead ends: 69 [2022-04-28 06:13:45,765 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:13:45,765 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:13:45,766 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 117 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:13:45,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-28 06:13:45,792 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2022-04-28 06:13:45,792 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:13:45,792 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:13:45,793 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:13:45,793 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:13:45,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:45,794 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-28 06:13:45,794 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-28 06:13:45,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:45,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:45,795 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-28 06:13:45,795 INFO L87 Difference]: Start difference. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-28 06:13:45,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:45,797 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-28 06:13:45,797 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-28 06:13:45,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:45,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:45,797 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:13:45,797 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:13:45,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:13:45,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 78 transitions. [2022-04-28 06:13:45,799 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 78 transitions. Word has length 36 [2022-04-28 06:13:45,799 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:13:45,799 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 78 transitions. [2022-04-28 06:13:45,799 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), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:13:45,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 78 transitions. [2022-04-28 06:13:45,873 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:45,873 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 78 transitions. [2022-04-28 06:13:45,874 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 06:13:45,874 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:13:45,874 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:13:45,892 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:13:46,084 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:13:46,085 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:13:46,086 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:13:46,086 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 1 times [2022-04-28 06:13:46,086 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:46,086 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1189808673] [2022-04-28 06:13:46,086 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:13:46,087 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 2 times [2022-04-28 06:13:46,087 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:13:46,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [171969511] [2022-04-28 06:13:46,087 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:13:46,087 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:13:46,095 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:13:46,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1086941951] [2022-04-28 06:13:46,095 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:13:46,095 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:13:46,095 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:13:46,096 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:13:46,097 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:13:46,135 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:13:46,135 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:13:46,135 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:13:46,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:13:46,147 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:13:58,737 INFO L272 TraceCheckUtils]: 0: Hoare triple {2221#true} call ULTIMATE.init(); {2221#true} is VALID [2022-04-28 06:13:58,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {2221#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);~counter~0 := 0; {2221#true} is VALID [2022-04-28 06:13:58,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 06:13:58,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2221#true} {2221#true} #96#return; {2221#true} is VALID [2022-04-28 06:13:58,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {2221#true} call #t~ret8 := main(); {2221#true} is VALID [2022-04-28 06:13:58,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {2221#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;~B~0 := #t~nondet5;havoc #t~nondet5; {2221#true} is VALID [2022-04-28 06:13:58,738 INFO L272 TraceCheckUtils]: 6: Hoare triple {2221#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2221#true} is VALID [2022-04-28 06:13:58,738 INFO L290 TraceCheckUtils]: 7: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 06:13:58,738 INFO L290 TraceCheckUtils]: 8: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 06:13:58,738 INFO L290 TraceCheckUtils]: 9: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 06:13:58,738 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2221#true} {2221#true} #80#return; {2221#true} is VALID [2022-04-28 06:13:58,738 INFO L290 TraceCheckUtils]: 11: Hoare triple {2221#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:13:58,739 INFO L290 TraceCheckUtils]: 12: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:13:58,739 INFO L290 TraceCheckUtils]: 13: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:13:58,739 INFO L272 TraceCheckUtils]: 14: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2221#true} is VALID [2022-04-28 06:13:58,739 INFO L290 TraceCheckUtils]: 15: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 06:13:58,739 INFO L290 TraceCheckUtils]: 16: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 06:13:58,739 INFO L290 TraceCheckUtils]: 17: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 06:13:58,740 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:13:58,740 INFO L272 TraceCheckUtils]: 19: Hoare triple {2259#(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)); {2221#true} is VALID [2022-04-28 06:13:58,740 INFO L290 TraceCheckUtils]: 20: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 06:13:58,740 INFO L290 TraceCheckUtils]: 21: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 06:13:58,740 INFO L290 TraceCheckUtils]: 22: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 06:13:58,741 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:13:58,741 INFO L272 TraceCheckUtils]: 24: Hoare triple {2259#(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)); {2221#true} is VALID [2022-04-28 06:13:58,741 INFO L290 TraceCheckUtils]: 25: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 06:13:58,741 INFO L290 TraceCheckUtils]: 26: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 06:13:58,741 INFO L290 TraceCheckUtils]: 27: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 06:13:58,742 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:13:58,742 INFO L290 TraceCheckUtils]: 29: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:13:58,742 INFO L290 TraceCheckUtils]: 30: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:13:58,743 INFO L290 TraceCheckUtils]: 31: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post7 < 100);havoc #t~post7; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:13:58,743 INFO L272 TraceCheckUtils]: 32: Hoare triple {2259#(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)); {2323#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:13:58,744 INFO L290 TraceCheckUtils]: 33: Hoare triple {2323#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2327#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:13:58,744 INFO L290 TraceCheckUtils]: 34: Hoare triple {2327#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2222#false} is VALID [2022-04-28 06:13:58,744 INFO L290 TraceCheckUtils]: 35: Hoare triple {2222#false} assume !false; {2222#false} is VALID [2022-04-28 06:13:58,744 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 06:13:58,744 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:13:58,745 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:13:58,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [171969511] [2022-04-28 06:13:58,745 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:13:58,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1086941951] [2022-04-28 06:13:58,745 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1086941951] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:58,745 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:58,745 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:13:58,745 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:13:58,745 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1189808673] [2022-04-28 06:13:58,745 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1189808673] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:13:58,745 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:13:58,745 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:13:58,745 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1513249917] [2022-04-28 06:13:58,745 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:13:58,746 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-28 06:13:58,746 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:13:58,746 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:13:58,768 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:58,768 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:13:58,768 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:58,768 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:13:58,769 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:13:58,769 INFO L87 Difference]: Start difference. First operand 68 states and 78 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:13:58,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:58,969 INFO L93 Difference]: Finished difference Result 82 states and 97 transitions. [2022-04-28 06:13:58,969 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:13:58,970 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-28 06:13:58,971 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:13:58,972 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:13:58,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-28 06:13:58,973 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:13:58,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-28 06:13:58,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-04-28 06:13:59,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:59,026 INFO L225 Difference]: With dead ends: 82 [2022-04-28 06:13:59,026 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 06:13:59,027 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 32 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:13:59,027 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 11 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:13:59,028 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 118 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:13:59,028 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 06:13:59,075 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2022-04-28 06:13:59,076 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:13:59,076 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:13:59,077 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:13:59,077 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:13:59,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:59,079 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-28 06:13:59,079 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-28 06:13:59,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:59,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:59,079 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 70 states. [2022-04-28 06:13:59,081 INFO L87 Difference]: Start difference. First operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 70 states. [2022-04-28 06:13:59,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:13:59,083 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-28 06:13:59,083 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-28 06:13:59,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:13:59,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:13:59,084 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:13:59,084 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:13:59,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:13:59,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 82 transitions. [2022-04-28 06:13:59,086 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 82 transitions. Word has length 36 [2022-04-28 06:13:59,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:13:59,087 INFO L495 AbstractCegarLoop]: Abstraction has 69 states and 82 transitions. [2022-04-28 06:13:59,087 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:13:59,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 69 states and 82 transitions. [2022-04-28 06:13:59,164 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:13:59,164 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-28 06:13:59,165 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 06:13:59,165 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:13:59,165 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 2, 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:13:59,187 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 06:13:59,365 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:13:59,365 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:13:59,366 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:13:59,366 INFO L85 PathProgramCache]: Analyzing trace with hash 817878903, now seen corresponding path program 1 times [2022-04-28 06:13:59,366 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:13:59,366 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [458142745] [2022-04-28 06:14:07,162 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:14:07,163 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:14:07,163 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:14:07,163 INFO L85 PathProgramCache]: Analyzing trace with hash 817878903, now seen corresponding path program 2 times [2022-04-28 06:14:07,163 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:14:07,163 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1928522044] [2022-04-28 06:14:07,163 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:14:07,163 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:14:07,187 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:14:07,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [400188860] [2022-04-28 06:14:07,188 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:14:07,188 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:14:07,188 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:14:07,189 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:14:07,189 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:14:07,224 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:14:07,224 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:14:07,225 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:14:07,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:14:07,235 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:14:07,407 INFO L272 TraceCheckUtils]: 0: Hoare triple {2777#true} call ULTIMATE.init(); {2777#true} is VALID [2022-04-28 06:14:07,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {2777#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);~counter~0 := 0; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:07,408 INFO L290 TraceCheckUtils]: 2: Hoare triple {2785#(<= ~counter~0 0)} assume true; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:07,409 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2785#(<= ~counter~0 0)} {2777#true} #96#return; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:07,409 INFO L272 TraceCheckUtils]: 4: Hoare triple {2785#(<= ~counter~0 0)} call #t~ret8 := main(); {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:07,409 INFO L290 TraceCheckUtils]: 5: Hoare triple {2785#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:07,410 INFO L272 TraceCheckUtils]: 6: Hoare triple {2785#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:07,410 INFO L290 TraceCheckUtils]: 7: Hoare triple {2785#(<= ~counter~0 0)} ~cond := #in~cond; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:07,410 INFO L290 TraceCheckUtils]: 8: Hoare triple {2785#(<= ~counter~0 0)} assume !(0 == ~cond); {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:07,410 INFO L290 TraceCheckUtils]: 9: Hoare triple {2785#(<= ~counter~0 0)} assume true; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:07,411 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2785#(<= ~counter~0 0)} {2785#(<= ~counter~0 0)} #80#return; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:07,411 INFO L290 TraceCheckUtils]: 11: Hoare triple {2785#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:07,412 INFO L290 TraceCheckUtils]: 12: Hoare triple {2785#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,412 INFO L290 TraceCheckUtils]: 13: Hoare triple {2819#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,412 INFO L272 TraceCheckUtils]: 14: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,412 INFO L290 TraceCheckUtils]: 15: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,413 INFO L290 TraceCheckUtils]: 16: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,413 INFO L290 TraceCheckUtils]: 17: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,413 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #82#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,414 INFO L272 TraceCheckUtils]: 19: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,414 INFO L290 TraceCheckUtils]: 20: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,414 INFO L290 TraceCheckUtils]: 21: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,415 INFO L290 TraceCheckUtils]: 22: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,415 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #84#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,416 INFO L272 TraceCheckUtils]: 24: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,416 INFO L290 TraceCheckUtils]: 25: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,416 INFO L290 TraceCheckUtils]: 26: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,416 INFO L290 TraceCheckUtils]: 27: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,417 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #86#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,417 INFO L290 TraceCheckUtils]: 29: Hoare triple {2819#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:07,418 INFO L290 TraceCheckUtils]: 30: Hoare triple {2819#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2874#(<= |main_#t~post6| 1)} is VALID [2022-04-28 06:14:07,418 INFO L290 TraceCheckUtils]: 31: Hoare triple {2874#(<= |main_#t~post6| 1)} assume !(#t~post6 < 100);havoc #t~post6; {2778#false} is VALID [2022-04-28 06:14:07,418 INFO L290 TraceCheckUtils]: 32: Hoare triple {2778#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2778#false} is VALID [2022-04-28 06:14:07,418 INFO L290 TraceCheckUtils]: 33: Hoare triple {2778#false} assume !(#t~post7 < 100);havoc #t~post7; {2778#false} is VALID [2022-04-28 06:14:07,418 INFO L272 TraceCheckUtils]: 34: Hoare triple {2778#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2778#false} is VALID [2022-04-28 06:14:07,418 INFO L290 TraceCheckUtils]: 35: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-28 06:14:07,418 INFO L290 TraceCheckUtils]: 36: Hoare triple {2778#false} assume !(0 == ~cond); {2778#false} is VALID [2022-04-28 06:14:07,418 INFO L290 TraceCheckUtils]: 37: Hoare triple {2778#false} assume true; {2778#false} is VALID [2022-04-28 06:14:07,418 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2778#false} {2778#false} #92#return; {2778#false} is VALID [2022-04-28 06:14:07,419 INFO L272 TraceCheckUtils]: 39: Hoare triple {2778#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {2778#false} is VALID [2022-04-28 06:14:07,419 INFO L290 TraceCheckUtils]: 40: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-28 06:14:07,419 INFO L290 TraceCheckUtils]: 41: Hoare triple {2778#false} assume 0 == ~cond; {2778#false} is VALID [2022-04-28 06:14:07,419 INFO L290 TraceCheckUtils]: 42: Hoare triple {2778#false} assume !false; {2778#false} is VALID [2022-04-28 06:14:07,419 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 18 proven. 2 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 06:14:07,419 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:14:07,600 INFO L290 TraceCheckUtils]: 42: Hoare triple {2778#false} assume !false; {2778#false} is VALID [2022-04-28 06:14:07,600 INFO L290 TraceCheckUtils]: 41: Hoare triple {2778#false} assume 0 == ~cond; {2778#false} is VALID [2022-04-28 06:14:07,600 INFO L290 TraceCheckUtils]: 40: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-28 06:14:07,600 INFO L272 TraceCheckUtils]: 39: Hoare triple {2778#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {2778#false} is VALID [2022-04-28 06:14:07,600 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2777#true} {2778#false} #92#return; {2778#false} is VALID [2022-04-28 06:14:07,600 INFO L290 TraceCheckUtils]: 37: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 06:14:07,600 INFO L290 TraceCheckUtils]: 36: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 06:14:07,600 INFO L290 TraceCheckUtils]: 35: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 06:14:07,601 INFO L272 TraceCheckUtils]: 34: Hoare triple {2778#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2777#true} is VALID [2022-04-28 06:14:07,601 INFO L290 TraceCheckUtils]: 33: Hoare triple {2778#false} assume !(#t~post7 < 100);havoc #t~post7; {2778#false} is VALID [2022-04-28 06:14:07,601 INFO L290 TraceCheckUtils]: 32: Hoare triple {2778#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2778#false} is VALID [2022-04-28 06:14:07,602 INFO L290 TraceCheckUtils]: 31: Hoare triple {2944#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {2778#false} is VALID [2022-04-28 06:14:07,602 INFO L290 TraceCheckUtils]: 30: Hoare triple {2948#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2944#(< |main_#t~post6| 100)} is VALID [2022-04-28 06:14:07,603 INFO L290 TraceCheckUtils]: 29: Hoare triple {2948#(< ~counter~0 100)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2948#(< ~counter~0 100)} is VALID [2022-04-28 06:14:07,603 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2777#true} {2948#(< ~counter~0 100)} #86#return; {2948#(< ~counter~0 100)} is VALID [2022-04-28 06:14:07,603 INFO L290 TraceCheckUtils]: 27: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 06:14:07,603 INFO L290 TraceCheckUtils]: 26: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 06:14:07,604 INFO L290 TraceCheckUtils]: 25: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 06:14:07,604 INFO L272 TraceCheckUtils]: 24: Hoare triple {2948#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2777#true} is VALID [2022-04-28 06:14:07,604 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2777#true} {2948#(< ~counter~0 100)} #84#return; {2948#(< ~counter~0 100)} is VALID [2022-04-28 06:14:07,604 INFO L290 TraceCheckUtils]: 22: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 06:14:07,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 06:14:07,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 06:14:07,604 INFO L272 TraceCheckUtils]: 19: Hoare triple {2948#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2777#true} is VALID [2022-04-28 06:14:07,605 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2777#true} {2948#(< ~counter~0 100)} #82#return; {2948#(< ~counter~0 100)} is VALID [2022-04-28 06:14:07,605 INFO L290 TraceCheckUtils]: 17: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 06:14:07,605 INFO L290 TraceCheckUtils]: 16: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 06:14:07,605 INFO L290 TraceCheckUtils]: 15: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 06:14:07,605 INFO L272 TraceCheckUtils]: 14: Hoare triple {2948#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2777#true} is VALID [2022-04-28 06:14:07,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {2948#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {2948#(< ~counter~0 100)} is VALID [2022-04-28 06:14:07,606 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2948#(< ~counter~0 100)} is VALID [2022-04-28 06:14:07,606 INFO L290 TraceCheckUtils]: 11: Hoare triple {3003#(< ~counter~0 99)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3003#(< ~counter~0 99)} is VALID [2022-04-28 06:14:07,606 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2777#true} {3003#(< ~counter~0 99)} #80#return; {3003#(< ~counter~0 99)} is VALID [2022-04-28 06:14:07,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 06:14:07,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 06:14:07,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 06:14:07,607 INFO L272 TraceCheckUtils]: 6: Hoare triple {3003#(< ~counter~0 99)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2777#true} is VALID [2022-04-28 06:14:07,607 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#(< ~counter~0 99)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {3003#(< ~counter~0 99)} is VALID [2022-04-28 06:14:07,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(< ~counter~0 99)} call #t~ret8 := main(); {3003#(< ~counter~0 99)} is VALID [2022-04-28 06:14:07,608 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(< ~counter~0 99)} {2777#true} #96#return; {3003#(< ~counter~0 99)} is VALID [2022-04-28 06:14:07,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(< ~counter~0 99)} assume true; {3003#(< ~counter~0 99)} is VALID [2022-04-28 06:14:07,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {2777#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);~counter~0 := 0; {3003#(< ~counter~0 99)} is VALID [2022-04-28 06:14:07,608 INFO L272 TraceCheckUtils]: 0: Hoare triple {2777#true} call ULTIMATE.init(); {2777#true} is VALID [2022-04-28 06:14:07,609 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 06:14:07,609 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:14:07,609 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1928522044] [2022-04-28 06:14:07,609 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:14:07,609 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [400188860] [2022-04-28 06:14:07,609 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [400188860] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:14:07,609 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:14:07,609 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 06:14:07,609 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:14:07,609 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [458142745] [2022-04-28 06:14:07,609 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [458142745] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:14:07,609 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:14:07,609 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:14:07,610 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1897291124] [2022-04-28 06:14:07,610 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:14:07,610 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) Word has length 43 [2022-04-28 06:14:07,610 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:14:07,610 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 06:14:07,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:14:07,633 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:14:07,633 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:14:07,634 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:14:07,634 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 06:14:07,634 INFO L87 Difference]: Start difference. First operand 69 states and 82 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 06:14:07,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:07,761 INFO L93 Difference]: Finished difference Result 96 states and 120 transitions. [2022-04-28 06:14:07,761 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 06:14:07,761 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) Word has length 43 [2022-04-28 06:14:07,762 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:14:07,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 06:14:07,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-04-28 06:14:07,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 06:14:07,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-04-28 06:14:07,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 76 transitions. [2022-04-28 06:14:07,812 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:14:07,813 INFO L225 Difference]: With dead ends: 96 [2022-04-28 06:14:07,813 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 06:14:07,814 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 79 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 06:14:07,814 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:14:07,815 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 117 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:14:07,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 06:14:07,857 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-28 06:14:07,857 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:14:07,858 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:14:07,858 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:14:07,858 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:14:07,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:07,860 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-28 06:14:07,860 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-28 06:14:07,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:14:07,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:14:07,860 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-28 06:14:07,861 INFO L87 Difference]: Start difference. First operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-28 06:14:07,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:07,872 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-28 06:14:07,872 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-28 06:14:07,872 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:14:07,872 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:14:07,872 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:14:07,872 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:14:07,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:14:07,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 84 transitions. [2022-04-28 06:14:07,875 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 84 transitions. Word has length 43 [2022-04-28 06:14:07,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:14:07,875 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 84 transitions. [2022-04-28 06:14:07,875 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 06:14:07,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 84 transitions. [2022-04-28 06:14:07,943 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:14:07,943 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-28 06:14:07,944 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 06:14:07,944 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:14:07,944 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:14:07,962 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:14:08,151 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:14:08,151 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:14:08,152 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:14:08,152 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 1 times [2022-04-28 06:14:08,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:14:08,152 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1310899802] [2022-04-28 06:14:15,830 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:14:15,830 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:14:15,830 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:14:15,830 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 2 times [2022-04-28 06:14:15,830 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:14:15,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [187730653] [2022-04-28 06:14:15,830 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:14:15,830 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:14:15,837 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:14:15,838 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1794990392] [2022-04-28 06:14:15,838 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:14:15,838 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:14:15,838 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:14:15,839 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:14:15,840 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:14:15,876 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:14:15,877 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:14:15,877 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 06:14:15,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:14:15,893 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:14:16,543 INFO L272 TraceCheckUtils]: 0: Hoare triple {3520#true} call ULTIMATE.init(); {3520#true} is VALID [2022-04-28 06:14:16,543 INFO L290 TraceCheckUtils]: 1: Hoare triple {3520#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);~counter~0 := 0; {3520#true} is VALID [2022-04-28 06:14:16,543 INFO L290 TraceCheckUtils]: 2: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,543 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3520#true} {3520#true} #96#return; {3520#true} is VALID [2022-04-28 06:14:16,543 INFO L272 TraceCheckUtils]: 4: Hoare triple {3520#true} call #t~ret8 := main(); {3520#true} is VALID [2022-04-28 06:14:16,543 INFO L290 TraceCheckUtils]: 5: Hoare triple {3520#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;~B~0 := #t~nondet5;havoc #t~nondet5; {3520#true} is VALID [2022-04-28 06:14:16,543 INFO L272 TraceCheckUtils]: 6: Hoare triple {3520#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:14:16,543 INFO L290 TraceCheckUtils]: 7: Hoare triple {3520#true} ~cond := #in~cond; {3546#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:14:16,544 INFO L290 TraceCheckUtils]: 8: Hoare triple {3546#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3550#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:14:16,544 INFO L290 TraceCheckUtils]: 9: Hoare triple {3550#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3550#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:14:16,545 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3550#(not (= |assume_abort_if_not_#in~cond| 0))} {3520#true} #80#return; {3557#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:14:16,545 INFO L290 TraceCheckUtils]: 11: Hoare triple {3557#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3561#(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:14:16,545 INFO L290 TraceCheckUtils]: 12: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3561#(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:14:16,546 INFO L290 TraceCheckUtils]: 13: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {3561#(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:14:16,546 INFO L272 TraceCheckUtils]: 14: Hoare triple {3561#(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)); {3520#true} is VALID [2022-04-28 06:14:16,546 INFO L290 TraceCheckUtils]: 15: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:14:16,546 INFO L290 TraceCheckUtils]: 16: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:14:16,546 INFO L290 TraceCheckUtils]: 17: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,547 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {3561#(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:14:16,547 INFO L272 TraceCheckUtils]: 19: Hoare triple {3561#(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)); {3520#true} is VALID [2022-04-28 06:14:16,547 INFO L290 TraceCheckUtils]: 20: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:14:16,547 INFO L290 TraceCheckUtils]: 21: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:14:16,547 INFO L290 TraceCheckUtils]: 22: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,548 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {3561#(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:14:16,548 INFO L272 TraceCheckUtils]: 24: Hoare triple {3561#(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)); {3520#true} is VALID [2022-04-28 06:14:16,548 INFO L290 TraceCheckUtils]: 25: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:14:16,548 INFO L290 TraceCheckUtils]: 26: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:14:16,548 INFO L290 TraceCheckUtils]: 27: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,555 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {3561#(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:14:16,556 INFO L290 TraceCheckUtils]: 29: Hoare triple {3561#(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; {3616#(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:14:16,556 INFO L290 TraceCheckUtils]: 30: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3616#(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:14:16,557 INFO L290 TraceCheckUtils]: 31: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 100);havoc #t~post6; {3616#(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:14:16,557 INFO L272 TraceCheckUtils]: 32: Hoare triple {3616#(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)); {3520#true} is VALID [2022-04-28 06:14:16,557 INFO L290 TraceCheckUtils]: 33: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:14:16,557 INFO L290 TraceCheckUtils]: 34: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:14:16,557 INFO L290 TraceCheckUtils]: 35: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,557 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3520#true} {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {3616#(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:14:16,558 INFO L272 TraceCheckUtils]: 37: Hoare triple {3616#(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)); {3520#true} is VALID [2022-04-28 06:14:16,558 INFO L290 TraceCheckUtils]: 38: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:14:16,558 INFO L290 TraceCheckUtils]: 39: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:14:16,558 INFO L290 TraceCheckUtils]: 40: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,563 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3520#true} {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {3616#(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:14:16,564 INFO L272 TraceCheckUtils]: 42: Hoare triple {3616#(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)); {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:14:16,564 INFO L290 TraceCheckUtils]: 43: Hoare triple {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:14:16,564 INFO L290 TraceCheckUtils]: 44: Hoare triple {3660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3521#false} is VALID [2022-04-28 06:14:16,564 INFO L290 TraceCheckUtils]: 45: Hoare triple {3521#false} assume !false; {3521#false} is VALID [2022-04-28 06:14:16,565 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 06:14:16,565 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:14:16,876 INFO L290 TraceCheckUtils]: 45: Hoare triple {3521#false} assume !false; {3521#false} is VALID [2022-04-28 06:14:16,876 INFO L290 TraceCheckUtils]: 44: Hoare triple {3660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3521#false} is VALID [2022-04-28 06:14:16,877 INFO L290 TraceCheckUtils]: 43: Hoare triple {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:14:16,877 INFO L272 TraceCheckUtils]: 42: Hoare triple {3676#(= 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)); {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:14:16,878 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:14:16,878 INFO L290 TraceCheckUtils]: 40: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,878 INFO L290 TraceCheckUtils]: 39: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:14:16,878 INFO L290 TraceCheckUtils]: 38: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:14:16,878 INFO L272 TraceCheckUtils]: 37: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:14:16,878 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:14:16,878 INFO L290 TraceCheckUtils]: 35: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,878 INFO L290 TraceCheckUtils]: 34: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:14:16,879 INFO L290 TraceCheckUtils]: 33: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:14:16,879 INFO L272 TraceCheckUtils]: 32: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:14:16,879 INFO L290 TraceCheckUtils]: 31: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 100);havoc #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:14:16,879 INFO L290 TraceCheckUtils]: 30: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:14:16,880 INFO L290 TraceCheckUtils]: 29: Hoare triple {3676#(= 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; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:14:16,881 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:14:16,881 INFO L290 TraceCheckUtils]: 27: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,881 INFO L290 TraceCheckUtils]: 26: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:14:16,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:14:16,881 INFO L272 TraceCheckUtils]: 24: Hoare triple {3676#(= 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)); {3520#true} is VALID [2022-04-28 06:14:16,882 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:14:16,882 INFO L290 TraceCheckUtils]: 22: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,882 INFO L290 TraceCheckUtils]: 21: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:14:16,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:14:16,882 INFO L272 TraceCheckUtils]: 19: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:14:16,882 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:14:16,882 INFO L290 TraceCheckUtils]: 17: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,882 INFO L290 TraceCheckUtils]: 16: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:14:16,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:14:16,883 INFO L272 TraceCheckUtils]: 14: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:14:16,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 100);havoc #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:14:16,883 INFO L290 TraceCheckUtils]: 12: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:14:16,884 INFO L290 TraceCheckUtils]: 11: Hoare triple {3520#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:14:16,884 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3520#true} {3520#true} #80#return; {3520#true} is VALID [2022-04-28 06:14:16,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:14:16,884 INFO L290 TraceCheckUtils]: 7: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:14:16,884 INFO L272 TraceCheckUtils]: 6: Hoare triple {3520#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:14:16,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {3520#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;~B~0 := #t~nondet5;havoc #t~nondet5; {3520#true} is VALID [2022-04-28 06:14:16,884 INFO L272 TraceCheckUtils]: 4: Hoare triple {3520#true} call #t~ret8 := main(); {3520#true} is VALID [2022-04-28 06:14:16,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3520#true} {3520#true} #96#return; {3520#true} is VALID [2022-04-28 06:14:16,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:14:16,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {3520#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);~counter~0 := 0; {3520#true} is VALID [2022-04-28 06:14:16,884 INFO L272 TraceCheckUtils]: 0: Hoare triple {3520#true} call ULTIMATE.init(); {3520#true} is VALID [2022-04-28 06:14:16,884 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 06:14:16,885 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:14:16,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [187730653] [2022-04-28 06:14:16,885 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:14:16,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1794990392] [2022-04-28 06:14:16,885 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1794990392] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 06:14:16,885 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 06:14:16,885 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-28 06:14:16,885 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:14:16,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1310899802] [2022-04-28 06:14:16,885 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1310899802] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:14:16,885 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:14:16,885 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:14:16,885 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1452930288] [2022-04-28 06:14:16,885 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:14:16,886 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-28 06:14:16,886 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:14:16,886 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:14:16,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:14:16,904 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:14:16,904 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:14:16,904 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:14:16,904 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:14:16,905 INFO L87 Difference]: Start difference. First operand 71 states and 84 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:14:17,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:17,237 INFO L93 Difference]: Finished difference Result 84 states and 101 transitions. [2022-04-28 06:14:17,237 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:14:17,237 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-28 06:14:17,237 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:14:17,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:14:17,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-28 06:14:17,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:14:17,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-28 06:14:17,239 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-28 06:14:17,282 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:14:17,283 INFO L225 Difference]: With dead ends: 84 [2022-04-28 06:14:17,283 INFO L226 Difference]: Without dead ends: 82 [2022-04-28 06:14:17,283 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 81 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:14:17,284 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 11 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:14:17,284 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 125 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:14:17,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-04-28 06:14:17,329 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 79. [2022-04-28 06:14:17,330 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:14:17,330 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 06:14:17,330 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 06:14:17,330 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 06:14:17,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:17,332 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2022-04-28 06:14:17,332 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2022-04-28 06:14:17,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:14:17,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:14:17,333 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 82 states. [2022-04-28 06:14:17,333 INFO L87 Difference]: Start difference. First operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 82 states. [2022-04-28 06:14:17,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:17,334 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2022-04-28 06:14:17,334 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2022-04-28 06:14:17,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:14:17,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:14:17,335 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:14:17,335 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:14:17,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 06:14:17,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 94 transitions. [2022-04-28 06:14:17,337 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 94 transitions. Word has length 46 [2022-04-28 06:14:17,337 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:14:17,337 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 94 transitions. [2022-04-28 06:14:17,337 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:14:17,337 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 94 transitions. [2022-04-28 06:14:17,424 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:14:17,424 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 94 transitions. [2022-04-28 06:14:17,425 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 06:14:17,425 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:14:17,425 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 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:14:17,443 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 06:14:17,631 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:14:17,631 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:14:17,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:14:17,632 INFO L85 PathProgramCache]: Analyzing trace with hash 967982746, now seen corresponding path program 1 times [2022-04-28 06:14:17,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:14:17,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [465405423] [2022-04-28 06:14:25,782 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:14:25,783 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:14:25,783 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:14:25,783 INFO L85 PathProgramCache]: Analyzing trace with hash 967982746, now seen corresponding path program 2 times [2022-04-28 06:14:25,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:14:25,783 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [544884100] [2022-04-28 06:14:25,783 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:14:25,783 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:14:25,808 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:14:25,808 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [910695861] [2022-04-28 06:14:25,808 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:14:25,808 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:14:25,808 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:14:25,813 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:14:25,814 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:14:25,855 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:14:25,855 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:14:25,856 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 06:14:25,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:14:25,872 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:14:26,101 INFO L272 TraceCheckUtils]: 0: Hoare triple {4297#true} call ULTIMATE.init(); {4297#true} is VALID [2022-04-28 06:14:26,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {4297#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);~counter~0 := 0; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:26,104 INFO L290 TraceCheckUtils]: 2: Hoare triple {4305#(<= ~counter~0 0)} assume true; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:26,105 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4305#(<= ~counter~0 0)} {4297#true} #96#return; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:26,105 INFO L272 TraceCheckUtils]: 4: Hoare triple {4305#(<= ~counter~0 0)} call #t~ret8 := main(); {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:26,105 INFO L290 TraceCheckUtils]: 5: Hoare triple {4305#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:26,106 INFO L272 TraceCheckUtils]: 6: Hoare triple {4305#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:26,107 INFO L290 TraceCheckUtils]: 7: Hoare triple {4305#(<= ~counter~0 0)} ~cond := #in~cond; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:26,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {4305#(<= ~counter~0 0)} assume !(0 == ~cond); {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:26,107 INFO L290 TraceCheckUtils]: 9: Hoare triple {4305#(<= ~counter~0 0)} assume true; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:26,108 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4305#(<= ~counter~0 0)} {4305#(<= ~counter~0 0)} #80#return; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:26,108 INFO L290 TraceCheckUtils]: 11: Hoare triple {4305#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:26,108 INFO L290 TraceCheckUtils]: 12: Hoare triple {4305#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,109 INFO L290 TraceCheckUtils]: 13: Hoare triple {4339#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,109 INFO L272 TraceCheckUtils]: 14: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,109 INFO L290 TraceCheckUtils]: 15: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,112 INFO L290 TraceCheckUtils]: 16: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,112 INFO L290 TraceCheckUtils]: 17: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,113 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #82#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,113 INFO L272 TraceCheckUtils]: 19: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,113 INFO L290 TraceCheckUtils]: 20: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,114 INFO L290 TraceCheckUtils]: 21: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,114 INFO L290 TraceCheckUtils]: 22: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,114 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #84#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,115 INFO L272 TraceCheckUtils]: 24: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,115 INFO L290 TraceCheckUtils]: 25: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,115 INFO L290 TraceCheckUtils]: 26: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,116 INFO L290 TraceCheckUtils]: 27: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,116 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #86#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,116 INFO L290 TraceCheckUtils]: 29: Hoare triple {4339#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:26,117 INFO L290 TraceCheckUtils]: 30: Hoare triple {4339#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,117 INFO L290 TraceCheckUtils]: 31: Hoare triple {4394#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,117 INFO L272 TraceCheckUtils]: 32: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,118 INFO L290 TraceCheckUtils]: 33: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,118 INFO L290 TraceCheckUtils]: 34: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,118 INFO L290 TraceCheckUtils]: 35: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,118 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #82#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,119 INFO L272 TraceCheckUtils]: 37: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,119 INFO L290 TraceCheckUtils]: 38: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,119 INFO L290 TraceCheckUtils]: 39: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,120 INFO L290 TraceCheckUtils]: 40: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,120 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #84#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,120 INFO L272 TraceCheckUtils]: 42: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,121 INFO L290 TraceCheckUtils]: 43: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,121 INFO L290 TraceCheckUtils]: 44: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,121 INFO L290 TraceCheckUtils]: 45: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,122 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #86#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,122 INFO L290 TraceCheckUtils]: 47: Hoare triple {4394#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:26,122 INFO L290 TraceCheckUtils]: 48: Hoare triple {4394#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4449#(<= |main_#t~post7| 2)} is VALID [2022-04-28 06:14:26,123 INFO L290 TraceCheckUtils]: 49: Hoare triple {4449#(<= |main_#t~post7| 2)} assume !(#t~post7 < 100);havoc #t~post7; {4298#false} is VALID [2022-04-28 06:14:26,123 INFO L272 TraceCheckUtils]: 50: Hoare triple {4298#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4298#false} is VALID [2022-04-28 06:14:26,123 INFO L290 TraceCheckUtils]: 51: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-28 06:14:26,123 INFO L290 TraceCheckUtils]: 52: Hoare triple {4298#false} assume !(0 == ~cond); {4298#false} is VALID [2022-04-28 06:14:26,123 INFO L290 TraceCheckUtils]: 53: Hoare triple {4298#false} assume true; {4298#false} is VALID [2022-04-28 06:14:26,123 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4298#false} {4298#false} #92#return; {4298#false} is VALID [2022-04-28 06:14:26,123 INFO L272 TraceCheckUtils]: 55: Hoare triple {4298#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {4298#false} is VALID [2022-04-28 06:14:26,123 INFO L290 TraceCheckUtils]: 56: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-28 06:14:26,123 INFO L290 TraceCheckUtils]: 57: Hoare triple {4298#false} assume 0 == ~cond; {4298#false} is VALID [2022-04-28 06:14:26,123 INFO L290 TraceCheckUtils]: 58: Hoare triple {4298#false} assume !false; {4298#false} is VALID [2022-04-28 06:14:26,123 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 36 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 06:14:26,123 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:14:26,378 INFO L290 TraceCheckUtils]: 58: Hoare triple {4298#false} assume !false; {4298#false} is VALID [2022-04-28 06:14:26,378 INFO L290 TraceCheckUtils]: 57: Hoare triple {4298#false} assume 0 == ~cond; {4298#false} is VALID [2022-04-28 06:14:26,378 INFO L290 TraceCheckUtils]: 56: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-28 06:14:26,378 INFO L272 TraceCheckUtils]: 55: Hoare triple {4298#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {4298#false} is VALID [2022-04-28 06:14:26,378 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4297#true} {4298#false} #92#return; {4298#false} is VALID [2022-04-28 06:14:26,378 INFO L290 TraceCheckUtils]: 53: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:14:26,379 INFO L290 TraceCheckUtils]: 52: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:14:26,379 INFO L290 TraceCheckUtils]: 51: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:14:26,379 INFO L272 TraceCheckUtils]: 50: Hoare triple {4298#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:14:26,379 INFO L290 TraceCheckUtils]: 49: Hoare triple {4507#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {4298#false} is VALID [2022-04-28 06:14:26,379 INFO L290 TraceCheckUtils]: 48: Hoare triple {4511#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4507#(< |main_#t~post7| 100)} is VALID [2022-04-28 06:14:26,380 INFO L290 TraceCheckUtils]: 47: Hoare triple {4511#(< ~counter~0 100)} assume !(~r~0 >= ~d~0); {4511#(< ~counter~0 100)} is VALID [2022-04-28 06:14:26,380 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4297#true} {4511#(< ~counter~0 100)} #86#return; {4511#(< ~counter~0 100)} is VALID [2022-04-28 06:14:26,380 INFO L290 TraceCheckUtils]: 45: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:14:26,380 INFO L290 TraceCheckUtils]: 44: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:14:26,380 INFO L290 TraceCheckUtils]: 43: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:14:26,380 INFO L272 TraceCheckUtils]: 42: Hoare triple {4511#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:14:26,381 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4297#true} {4511#(< ~counter~0 100)} #84#return; {4511#(< ~counter~0 100)} is VALID [2022-04-28 06:14:26,381 INFO L290 TraceCheckUtils]: 40: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:14:26,381 INFO L290 TraceCheckUtils]: 39: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:14:26,381 INFO L290 TraceCheckUtils]: 38: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:14:26,381 INFO L272 TraceCheckUtils]: 37: Hoare triple {4511#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:14:26,381 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4297#true} {4511#(< ~counter~0 100)} #82#return; {4511#(< ~counter~0 100)} is VALID [2022-04-28 06:14:26,381 INFO L290 TraceCheckUtils]: 35: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:14:26,381 INFO L290 TraceCheckUtils]: 34: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:14:26,381 INFO L290 TraceCheckUtils]: 33: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:14:26,381 INFO L272 TraceCheckUtils]: 32: Hoare triple {4511#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:14:26,382 INFO L290 TraceCheckUtils]: 31: Hoare triple {4511#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {4511#(< ~counter~0 100)} is VALID [2022-04-28 06:14:26,382 INFO L290 TraceCheckUtils]: 30: Hoare triple {4566#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4511#(< ~counter~0 100)} is VALID [2022-04-28 06:14:26,382 INFO L290 TraceCheckUtils]: 29: Hoare triple {4566#(< ~counter~0 99)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4566#(< ~counter~0 99)} is VALID [2022-04-28 06:14:26,383 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4297#true} {4566#(< ~counter~0 99)} #86#return; {4566#(< ~counter~0 99)} is VALID [2022-04-28 06:14:26,383 INFO L290 TraceCheckUtils]: 27: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:14:26,383 INFO L290 TraceCheckUtils]: 26: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:14:26,383 INFO L290 TraceCheckUtils]: 25: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:14:26,383 INFO L272 TraceCheckUtils]: 24: Hoare triple {4566#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:14:26,383 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4297#true} {4566#(< ~counter~0 99)} #84#return; {4566#(< ~counter~0 99)} is VALID [2022-04-28 06:14:26,384 INFO L290 TraceCheckUtils]: 22: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:14:26,384 INFO L290 TraceCheckUtils]: 21: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:14:26,384 INFO L290 TraceCheckUtils]: 20: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:14:26,384 INFO L272 TraceCheckUtils]: 19: Hoare triple {4566#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:14:26,384 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4297#true} {4566#(< ~counter~0 99)} #82#return; {4566#(< ~counter~0 99)} is VALID [2022-04-28 06:14:26,384 INFO L290 TraceCheckUtils]: 17: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:14:26,384 INFO L290 TraceCheckUtils]: 16: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:14:26,384 INFO L290 TraceCheckUtils]: 15: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:14:26,384 INFO L272 TraceCheckUtils]: 14: Hoare triple {4566#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:14:26,385 INFO L290 TraceCheckUtils]: 13: Hoare triple {4566#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {4566#(< ~counter~0 99)} is VALID [2022-04-28 06:14:26,385 INFO L290 TraceCheckUtils]: 12: Hoare triple {4621#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4566#(< ~counter~0 99)} is VALID [2022-04-28 06:14:26,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {4621#(< ~counter~0 98)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4621#(< ~counter~0 98)} is VALID [2022-04-28 06:14:26,386 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4297#true} {4621#(< ~counter~0 98)} #80#return; {4621#(< ~counter~0 98)} is VALID [2022-04-28 06:14:26,386 INFO L290 TraceCheckUtils]: 9: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:14:26,386 INFO L290 TraceCheckUtils]: 8: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:14:26,386 INFO L290 TraceCheckUtils]: 7: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:14:26,386 INFO L272 TraceCheckUtils]: 6: Hoare triple {4621#(< ~counter~0 98)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:14:26,386 INFO L290 TraceCheckUtils]: 5: Hoare triple {4621#(< ~counter~0 98)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {4621#(< ~counter~0 98)} is VALID [2022-04-28 06:14:26,387 INFO L272 TraceCheckUtils]: 4: Hoare triple {4621#(< ~counter~0 98)} call #t~ret8 := main(); {4621#(< ~counter~0 98)} is VALID [2022-04-28 06:14:26,387 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4621#(< ~counter~0 98)} {4297#true} #96#return; {4621#(< ~counter~0 98)} is VALID [2022-04-28 06:14:26,387 INFO L290 TraceCheckUtils]: 2: Hoare triple {4621#(< ~counter~0 98)} assume true; {4621#(< ~counter~0 98)} is VALID [2022-04-28 06:14:26,388 INFO L290 TraceCheckUtils]: 1: Hoare triple {4297#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);~counter~0 := 0; {4621#(< ~counter~0 98)} is VALID [2022-04-28 06:14:26,388 INFO L272 TraceCheckUtils]: 0: Hoare triple {4297#true} call ULTIMATE.init(); {4297#true} is VALID [2022-04-28 06:14:26,389 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 06:14:26,389 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:14:26,389 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [544884100] [2022-04-28 06:14:26,389 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:14:26,389 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [910695861] [2022-04-28 06:14:26,390 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [910695861] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:14:26,390 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:14:26,390 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 06:14:26,392 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:14:26,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [465405423] [2022-04-28 06:14:26,392 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [465405423] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:14:26,392 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:14:26,392 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:14:26,392 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1127499824] [2022-04-28 06:14:26,392 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:14:26,392 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 59 [2022-04-28 06:14:26,392 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:14:26,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:14:26,421 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:14:26,421 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:14:26,422 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:14:26,422 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:14:26,422 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:14:26,422 INFO L87 Difference]: Start difference. First operand 79 states and 94 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:14:26,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:26,613 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-28 06:14:26,613 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 06:14:26,613 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 59 [2022-04-28 06:14:26,613 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:14:26,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:14:26,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 79 transitions. [2022-04-28 06:14:26,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:14:26,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 79 transitions. [2022-04-28 06:14:26,616 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 79 transitions. [2022-04-28 06:14:26,679 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:14:26,681 INFO L225 Difference]: With dead ends: 110 [2022-04-28 06:14:26,681 INFO L226 Difference]: Without dead ends: 98 [2022-04-28 06:14:26,681 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 109 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:14:26,681 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 14 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 27 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 27 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:14:26,682 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 129 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 27 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:14:26,682 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-28 06:14:26,737 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 97. [2022-04-28 06:14:26,737 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:14:26,737 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:14:26,738 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:14:26,738 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:14:26,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:26,741 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-28 06:14:26,741 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-28 06:14:26,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:14:26,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:14:26,741 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 98 states. [2022-04-28 06:14:26,741 INFO L87 Difference]: Start difference. First operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 98 states. [2022-04-28 06:14:26,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:26,743 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-28 06:14:26,743 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-28 06:14:26,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:14:26,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:14:26,743 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:14:26,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:14:26,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:14:26,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 113 transitions. [2022-04-28 06:14:26,745 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 113 transitions. Word has length 59 [2022-04-28 06:14:26,745 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:14:26,745 INFO L495 AbstractCegarLoop]: Abstraction has 97 states and 113 transitions. [2022-04-28 06:14:26,746 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:14:26,746 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 113 transitions. [2022-04-28 06:14:26,857 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:14:26,857 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 113 transitions. [2022-04-28 06:14:26,858 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 06:14:26,858 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:14:26,858 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:14:26,876 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:14:27,066 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:14:27,066 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:14:27,067 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:14:27,067 INFO L85 PathProgramCache]: Analyzing trace with hash 940283669, now seen corresponding path program 3 times [2022-04-28 06:14:27,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:14:27,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1334975660] [2022-04-28 06:14:36,794 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:14:36,795 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:14:36,795 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:14:36,795 INFO L85 PathProgramCache]: Analyzing trace with hash 940283669, now seen corresponding path program 4 times [2022-04-28 06:14:36,795 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:14:36,795 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [148926537] [2022-04-28 06:14:36,795 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:14:36,795 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:14:36,803 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:14:36,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2137003093] [2022-04-28 06:14:36,804 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:14:36,804 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:14:36,804 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:14:36,819 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:14:36,820 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:14:36,861 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:14:36,861 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:14:36,862 INFO L263 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 06:14:36,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:14:36,874 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:14:37,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {5270#true} call ULTIMATE.init(); {5270#true} is VALID [2022-04-28 06:14:37,114 INFO L290 TraceCheckUtils]: 1: Hoare triple {5270#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);~counter~0 := 0; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:37,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {5278#(<= ~counter~0 0)} assume true; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:37,121 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5278#(<= ~counter~0 0)} {5270#true} #96#return; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:37,121 INFO L272 TraceCheckUtils]: 4: Hoare triple {5278#(<= ~counter~0 0)} call #t~ret8 := main(); {5278#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:37,121 INFO L290 TraceCheckUtils]: 5: Hoare triple {5278#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:37,122 INFO L272 TraceCheckUtils]: 6: Hoare triple {5278#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5278#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:37,122 INFO L290 TraceCheckUtils]: 7: Hoare triple {5278#(<= ~counter~0 0)} ~cond := #in~cond; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:37,123 INFO L290 TraceCheckUtils]: 8: Hoare triple {5278#(<= ~counter~0 0)} assume !(0 == ~cond); {5278#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:37,123 INFO L290 TraceCheckUtils]: 9: Hoare triple {5278#(<= ~counter~0 0)} assume true; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:37,126 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5278#(<= ~counter~0 0)} {5278#(<= ~counter~0 0)} #80#return; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:37,126 INFO L290 TraceCheckUtils]: 11: Hoare triple {5278#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5278#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:37,127 INFO L290 TraceCheckUtils]: 12: Hoare triple {5278#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,127 INFO L290 TraceCheckUtils]: 13: Hoare triple {5312#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,127 INFO L272 TraceCheckUtils]: 14: Hoare triple {5312#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,128 INFO L290 TraceCheckUtils]: 15: Hoare triple {5312#(<= ~counter~0 1)} ~cond := #in~cond; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,128 INFO L290 TraceCheckUtils]: 16: Hoare triple {5312#(<= ~counter~0 1)} assume !(0 == ~cond); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,128 INFO L290 TraceCheckUtils]: 17: Hoare triple {5312#(<= ~counter~0 1)} assume true; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,129 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5312#(<= ~counter~0 1)} {5312#(<= ~counter~0 1)} #82#return; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,129 INFO L272 TraceCheckUtils]: 19: Hoare triple {5312#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,129 INFO L290 TraceCheckUtils]: 20: Hoare triple {5312#(<= ~counter~0 1)} ~cond := #in~cond; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,130 INFO L290 TraceCheckUtils]: 21: Hoare triple {5312#(<= ~counter~0 1)} assume !(0 == ~cond); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,130 INFO L290 TraceCheckUtils]: 22: Hoare triple {5312#(<= ~counter~0 1)} assume true; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,130 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5312#(<= ~counter~0 1)} {5312#(<= ~counter~0 1)} #84#return; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,131 INFO L272 TraceCheckUtils]: 24: Hoare triple {5312#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,131 INFO L290 TraceCheckUtils]: 25: Hoare triple {5312#(<= ~counter~0 1)} ~cond := #in~cond; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,131 INFO L290 TraceCheckUtils]: 26: Hoare triple {5312#(<= ~counter~0 1)} assume !(0 == ~cond); {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,131 INFO L290 TraceCheckUtils]: 27: Hoare triple {5312#(<= ~counter~0 1)} assume true; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,132 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5312#(<= ~counter~0 1)} {5312#(<= ~counter~0 1)} #86#return; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,132 INFO L290 TraceCheckUtils]: 29: Hoare triple {5312#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5312#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:37,133 INFO L290 TraceCheckUtils]: 30: Hoare triple {5312#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,133 INFO L290 TraceCheckUtils]: 31: Hoare triple {5367#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,133 INFO L272 TraceCheckUtils]: 32: Hoare triple {5367#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,133 INFO L290 TraceCheckUtils]: 33: Hoare triple {5367#(<= ~counter~0 2)} ~cond := #in~cond; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,134 INFO L290 TraceCheckUtils]: 34: Hoare triple {5367#(<= ~counter~0 2)} assume !(0 == ~cond); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,134 INFO L290 TraceCheckUtils]: 35: Hoare triple {5367#(<= ~counter~0 2)} assume true; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,134 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5367#(<= ~counter~0 2)} {5367#(<= ~counter~0 2)} #82#return; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,135 INFO L272 TraceCheckUtils]: 37: Hoare triple {5367#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,135 INFO L290 TraceCheckUtils]: 38: Hoare triple {5367#(<= ~counter~0 2)} ~cond := #in~cond; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,135 INFO L290 TraceCheckUtils]: 39: Hoare triple {5367#(<= ~counter~0 2)} assume !(0 == ~cond); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,135 INFO L290 TraceCheckUtils]: 40: Hoare triple {5367#(<= ~counter~0 2)} assume true; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,136 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5367#(<= ~counter~0 2)} {5367#(<= ~counter~0 2)} #84#return; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,136 INFO L272 TraceCheckUtils]: 42: Hoare triple {5367#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,136 INFO L290 TraceCheckUtils]: 43: Hoare triple {5367#(<= ~counter~0 2)} ~cond := #in~cond; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,137 INFO L290 TraceCheckUtils]: 44: Hoare triple {5367#(<= ~counter~0 2)} assume !(0 == ~cond); {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,137 INFO L290 TraceCheckUtils]: 45: Hoare triple {5367#(<= ~counter~0 2)} assume true; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,137 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5367#(<= ~counter~0 2)} {5367#(<= ~counter~0 2)} #86#return; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,138 INFO L290 TraceCheckUtils]: 47: Hoare triple {5367#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5367#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:37,138 INFO L290 TraceCheckUtils]: 48: Hoare triple {5367#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5422#(<= |main_#t~post6| 2)} is VALID [2022-04-28 06:14:37,138 INFO L290 TraceCheckUtils]: 49: Hoare triple {5422#(<= |main_#t~post6| 2)} assume !(#t~post6 < 100);havoc #t~post6; {5271#false} is VALID [2022-04-28 06:14:37,138 INFO L290 TraceCheckUtils]: 50: Hoare triple {5271#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5271#false} is VALID [2022-04-28 06:14:37,138 INFO L290 TraceCheckUtils]: 51: Hoare triple {5271#false} assume !(#t~post7 < 100);havoc #t~post7; {5271#false} is VALID [2022-04-28 06:14:37,138 INFO L272 TraceCheckUtils]: 52: Hoare triple {5271#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5271#false} is VALID [2022-04-28 06:14:37,139 INFO L290 TraceCheckUtils]: 53: Hoare triple {5271#false} ~cond := #in~cond; {5271#false} is VALID [2022-04-28 06:14:37,139 INFO L290 TraceCheckUtils]: 54: Hoare triple {5271#false} assume !(0 == ~cond); {5271#false} is VALID [2022-04-28 06:14:37,139 INFO L290 TraceCheckUtils]: 55: Hoare triple {5271#false} assume true; {5271#false} is VALID [2022-04-28 06:14:37,139 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5271#false} {5271#false} #92#return; {5271#false} is VALID [2022-04-28 06:14:37,139 INFO L272 TraceCheckUtils]: 57: Hoare triple {5271#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5271#false} is VALID [2022-04-28 06:14:37,139 INFO L290 TraceCheckUtils]: 58: Hoare triple {5271#false} ~cond := #in~cond; {5271#false} is VALID [2022-04-28 06:14:37,139 INFO L290 TraceCheckUtils]: 59: Hoare triple {5271#false} assume 0 == ~cond; {5271#false} is VALID [2022-04-28 06:14:37,139 INFO L290 TraceCheckUtils]: 60: Hoare triple {5271#false} assume !false; {5271#false} is VALID [2022-04-28 06:14:37,139 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 36 proven. 46 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 06:14:37,139 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:14:37,366 INFO L290 TraceCheckUtils]: 60: Hoare triple {5271#false} assume !false; {5271#false} is VALID [2022-04-28 06:14:37,366 INFO L290 TraceCheckUtils]: 59: Hoare triple {5271#false} assume 0 == ~cond; {5271#false} is VALID [2022-04-28 06:14:37,366 INFO L290 TraceCheckUtils]: 58: Hoare triple {5271#false} ~cond := #in~cond; {5271#false} is VALID [2022-04-28 06:14:37,367 INFO L272 TraceCheckUtils]: 57: Hoare triple {5271#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5271#false} is VALID [2022-04-28 06:14:37,367 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5270#true} {5271#false} #92#return; {5271#false} is VALID [2022-04-28 06:14:37,367 INFO L290 TraceCheckUtils]: 55: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 06:14:37,367 INFO L290 TraceCheckUtils]: 54: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 06:14:37,367 INFO L290 TraceCheckUtils]: 53: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 06:14:37,367 INFO L272 TraceCheckUtils]: 52: Hoare triple {5271#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 06:14:37,367 INFO L290 TraceCheckUtils]: 51: Hoare triple {5271#false} assume !(#t~post7 < 100);havoc #t~post7; {5271#false} is VALID [2022-04-28 06:14:37,367 INFO L290 TraceCheckUtils]: 50: Hoare triple {5271#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5271#false} is VALID [2022-04-28 06:14:37,367 INFO L290 TraceCheckUtils]: 49: Hoare triple {5492#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {5271#false} is VALID [2022-04-28 06:14:37,368 INFO L290 TraceCheckUtils]: 48: Hoare triple {5496#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5492#(< |main_#t~post6| 100)} is VALID [2022-04-28 06:14:37,368 INFO L290 TraceCheckUtils]: 47: Hoare triple {5496#(< ~counter~0 100)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5496#(< ~counter~0 100)} is VALID [2022-04-28 06:14:37,368 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5270#true} {5496#(< ~counter~0 100)} #86#return; {5496#(< ~counter~0 100)} is VALID [2022-04-28 06:14:37,368 INFO L290 TraceCheckUtils]: 45: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 06:14:37,368 INFO L290 TraceCheckUtils]: 44: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 06:14:37,368 INFO L290 TraceCheckUtils]: 43: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 06:14:37,368 INFO L272 TraceCheckUtils]: 42: Hoare triple {5496#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 06:14:37,369 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5270#true} {5496#(< ~counter~0 100)} #84#return; {5496#(< ~counter~0 100)} is VALID [2022-04-28 06:14:37,369 INFO L290 TraceCheckUtils]: 40: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 06:14:37,369 INFO L290 TraceCheckUtils]: 39: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 06:14:37,369 INFO L290 TraceCheckUtils]: 38: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 06:14:37,369 INFO L272 TraceCheckUtils]: 37: Hoare triple {5496#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5270#true} is VALID [2022-04-28 06:14:37,369 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5270#true} {5496#(< ~counter~0 100)} #82#return; {5496#(< ~counter~0 100)} is VALID [2022-04-28 06:14:37,370 INFO L290 TraceCheckUtils]: 35: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 06:14:37,370 INFO L290 TraceCheckUtils]: 34: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 06:14:37,370 INFO L290 TraceCheckUtils]: 33: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 06:14:37,370 INFO L272 TraceCheckUtils]: 32: Hoare triple {5496#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 06:14:37,370 INFO L290 TraceCheckUtils]: 31: Hoare triple {5496#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {5496#(< ~counter~0 100)} is VALID [2022-04-28 06:14:37,370 INFO L290 TraceCheckUtils]: 30: Hoare triple {5551#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5496#(< ~counter~0 100)} is VALID [2022-04-28 06:14:37,371 INFO L290 TraceCheckUtils]: 29: Hoare triple {5551#(< ~counter~0 99)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5551#(< ~counter~0 99)} is VALID [2022-04-28 06:14:37,371 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5270#true} {5551#(< ~counter~0 99)} #86#return; {5551#(< ~counter~0 99)} is VALID [2022-04-28 06:14:37,371 INFO L290 TraceCheckUtils]: 27: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 06:14:37,371 INFO L290 TraceCheckUtils]: 26: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 06:14:37,371 INFO L290 TraceCheckUtils]: 25: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 06:14:37,371 INFO L272 TraceCheckUtils]: 24: Hoare triple {5551#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 06:14:37,381 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5270#true} {5551#(< ~counter~0 99)} #84#return; {5551#(< ~counter~0 99)} is VALID [2022-04-28 06:14:37,381 INFO L290 TraceCheckUtils]: 22: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 06:14:37,381 INFO L290 TraceCheckUtils]: 21: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 06:14:37,381 INFO L290 TraceCheckUtils]: 20: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 06:14:37,381 INFO L272 TraceCheckUtils]: 19: Hoare triple {5551#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5270#true} is VALID [2022-04-28 06:14:37,381 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5270#true} {5551#(< ~counter~0 99)} #82#return; {5551#(< ~counter~0 99)} is VALID [2022-04-28 06:14:37,381 INFO L290 TraceCheckUtils]: 17: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 06:14:37,382 INFO L290 TraceCheckUtils]: 16: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 06:14:37,382 INFO L290 TraceCheckUtils]: 15: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 06:14:37,382 INFO L272 TraceCheckUtils]: 14: Hoare triple {5551#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5270#true} is VALID [2022-04-28 06:14:37,382 INFO L290 TraceCheckUtils]: 13: Hoare triple {5551#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {5551#(< ~counter~0 99)} is VALID [2022-04-28 06:14:37,382 INFO L290 TraceCheckUtils]: 12: Hoare triple {5606#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5551#(< ~counter~0 99)} is VALID [2022-04-28 06:14:37,383 INFO L290 TraceCheckUtils]: 11: Hoare triple {5606#(< ~counter~0 98)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5606#(< ~counter~0 98)} is VALID [2022-04-28 06:14:37,383 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5270#true} {5606#(< ~counter~0 98)} #80#return; {5606#(< ~counter~0 98)} is VALID [2022-04-28 06:14:37,383 INFO L290 TraceCheckUtils]: 9: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-28 06:14:37,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-28 06:14:37,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-28 06:14:37,383 INFO L272 TraceCheckUtils]: 6: Hoare triple {5606#(< ~counter~0 98)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5270#true} is VALID [2022-04-28 06:14:37,383 INFO L290 TraceCheckUtils]: 5: Hoare triple {5606#(< ~counter~0 98)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {5606#(< ~counter~0 98)} is VALID [2022-04-28 06:14:37,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {5606#(< ~counter~0 98)} call #t~ret8 := main(); {5606#(< ~counter~0 98)} is VALID [2022-04-28 06:14:37,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5606#(< ~counter~0 98)} {5270#true} #96#return; {5606#(< ~counter~0 98)} is VALID [2022-04-28 06:14:37,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {5606#(< ~counter~0 98)} assume true; {5606#(< ~counter~0 98)} is VALID [2022-04-28 06:14:37,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {5270#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);~counter~0 := 0; {5606#(< ~counter~0 98)} is VALID [2022-04-28 06:14:37,385 INFO L272 TraceCheckUtils]: 0: Hoare triple {5270#true} call ULTIMATE.init(); {5270#true} is VALID [2022-04-28 06:14:37,385 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 14 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 06:14:37,385 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:14:37,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [148926537] [2022-04-28 06:14:37,385 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:14:37,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2137003093] [2022-04-28 06:14:37,385 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2137003093] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:14:37,385 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:14:37,385 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 06:14:37,386 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:14:37,386 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1334975660] [2022-04-28 06:14:37,386 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1334975660] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:14:37,386 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:14:37,386 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:14:37,386 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [855090665] [2022-04-28 06:14:37,386 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:14:37,386 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 61 [2022-04-28 06:14:37,387 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:14:37,387 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:14:37,427 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:14:37,427 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:14:37,427 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:14:37,428 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:14:37,428 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:14:37,428 INFO L87 Difference]: Start difference. First operand 97 states and 113 transitions. Second operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:14:37,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:37,613 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-28 06:14:37,613 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:14:37,613 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 61 [2022-04-28 06:14:37,613 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:14:37,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:14:37,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-28 06:14:37,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:14:37,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-28 06:14:37,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 90 transitions. [2022-04-28 06:14:37,672 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:14:37,673 INFO L225 Difference]: With dead ends: 132 [2022-04-28 06:14:37,673 INFO L226 Difference]: Without dead ends: 99 [2022-04-28 06:14:37,674 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:14:37,674 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 27 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 27 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:14:37,674 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 146 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 27 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:14:37,674 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-28 06:14:37,749 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 99. [2022-04-28 06:14:37,749 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:14:37,750 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:14:37,750 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:14:37,750 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:14:37,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:37,755 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-28 06:14:37,755 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-28 06:14:37,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:14:37,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:14:37,755 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 99 states. [2022-04-28 06:14:37,755 INFO L87 Difference]: Start difference. First operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 99 states. [2022-04-28 06:14:37,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:37,761 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-28 06:14:37,761 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-28 06:14:37,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:14:37,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:14:37,762 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:14:37,762 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:14:37,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:14:37,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 115 transitions. [2022-04-28 06:14:37,763 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 115 transitions. Word has length 61 [2022-04-28 06:14:37,764 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:14:37,764 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 115 transitions. [2022-04-28 06:14:37,764 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:14:37,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 115 transitions. [2022-04-28 06:14:37,871 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:14:37,871 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-28 06:14:37,872 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 06:14:37,872 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:14:37,872 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:14:37,888 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:14:38,075 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:14:38,076 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:14:38,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:14:38,076 INFO L85 PathProgramCache]: Analyzing trace with hash 1140868055, now seen corresponding path program 1 times [2022-04-28 06:14:38,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:14:38,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [362388404] [2022-04-28 06:14:45,326 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:14:45,326 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:14:45,327 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:14:45,327 INFO L85 PathProgramCache]: Analyzing trace with hash 1140868055, now seen corresponding path program 2 times [2022-04-28 06:14:45,327 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:14:45,327 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1918520033] [2022-04-28 06:14:45,327 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:14:45,327 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:14:45,335 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:14:45,336 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1378455321] [2022-04-28 06:14:45,336 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:14:45,336 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:14:45,336 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:14:45,337 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:14:45,338 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:14:45,378 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:14:45,379 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:14:45,379 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 06:14:45,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:14:45,392 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:14:45,637 INFO L272 TraceCheckUtils]: 0: Hoare triple {6309#true} call ULTIMATE.init(); {6309#true} is VALID [2022-04-28 06:14:45,638 INFO L290 TraceCheckUtils]: 1: Hoare triple {6309#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);~counter~0 := 0; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:45,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {6317#(<= ~counter~0 0)} assume true; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:45,639 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6317#(<= ~counter~0 0)} {6309#true} #96#return; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:45,639 INFO L272 TraceCheckUtils]: 4: Hoare triple {6317#(<= ~counter~0 0)} call #t~ret8 := main(); {6317#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:45,639 INFO L290 TraceCheckUtils]: 5: Hoare triple {6317#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:45,640 INFO L272 TraceCheckUtils]: 6: Hoare triple {6317#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6317#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:45,640 INFO L290 TraceCheckUtils]: 7: Hoare triple {6317#(<= ~counter~0 0)} ~cond := #in~cond; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:45,640 INFO L290 TraceCheckUtils]: 8: Hoare triple {6317#(<= ~counter~0 0)} assume !(0 == ~cond); {6317#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:45,640 INFO L290 TraceCheckUtils]: 9: Hoare triple {6317#(<= ~counter~0 0)} assume true; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:45,641 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6317#(<= ~counter~0 0)} {6317#(<= ~counter~0 0)} #80#return; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:45,641 INFO L290 TraceCheckUtils]: 11: Hoare triple {6317#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6317#(<= ~counter~0 0)} is VALID [2022-04-28 06:14:45,648 INFO L290 TraceCheckUtils]: 12: Hoare triple {6317#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,648 INFO L290 TraceCheckUtils]: 13: Hoare triple {6351#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,649 INFO L272 TraceCheckUtils]: 14: Hoare triple {6351#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,649 INFO L290 TraceCheckUtils]: 15: Hoare triple {6351#(<= ~counter~0 1)} ~cond := #in~cond; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,649 INFO L290 TraceCheckUtils]: 16: Hoare triple {6351#(<= ~counter~0 1)} assume !(0 == ~cond); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,649 INFO L290 TraceCheckUtils]: 17: Hoare triple {6351#(<= ~counter~0 1)} assume true; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,650 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6351#(<= ~counter~0 1)} {6351#(<= ~counter~0 1)} #82#return; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,651 INFO L272 TraceCheckUtils]: 19: Hoare triple {6351#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,651 INFO L290 TraceCheckUtils]: 20: Hoare triple {6351#(<= ~counter~0 1)} ~cond := #in~cond; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,651 INFO L290 TraceCheckUtils]: 21: Hoare triple {6351#(<= ~counter~0 1)} assume !(0 == ~cond); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,652 INFO L290 TraceCheckUtils]: 22: Hoare triple {6351#(<= ~counter~0 1)} assume true; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,652 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6351#(<= ~counter~0 1)} {6351#(<= ~counter~0 1)} #84#return; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,653 INFO L272 TraceCheckUtils]: 24: Hoare triple {6351#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,653 INFO L290 TraceCheckUtils]: 25: Hoare triple {6351#(<= ~counter~0 1)} ~cond := #in~cond; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,653 INFO L290 TraceCheckUtils]: 26: Hoare triple {6351#(<= ~counter~0 1)} assume !(0 == ~cond); {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,653 INFO L290 TraceCheckUtils]: 27: Hoare triple {6351#(<= ~counter~0 1)} assume true; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,654 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6351#(<= ~counter~0 1)} {6351#(<= ~counter~0 1)} #86#return; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,654 INFO L290 TraceCheckUtils]: 29: Hoare triple {6351#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6351#(<= ~counter~0 1)} is VALID [2022-04-28 06:14:45,654 INFO L290 TraceCheckUtils]: 30: Hoare triple {6351#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,655 INFO L290 TraceCheckUtils]: 31: Hoare triple {6406#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,655 INFO L272 TraceCheckUtils]: 32: Hoare triple {6406#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,655 INFO L290 TraceCheckUtils]: 33: Hoare triple {6406#(<= ~counter~0 2)} ~cond := #in~cond; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,656 INFO L290 TraceCheckUtils]: 34: Hoare triple {6406#(<= ~counter~0 2)} assume !(0 == ~cond); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,656 INFO L290 TraceCheckUtils]: 35: Hoare triple {6406#(<= ~counter~0 2)} assume true; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,658 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6406#(<= ~counter~0 2)} {6406#(<= ~counter~0 2)} #82#return; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,659 INFO L272 TraceCheckUtils]: 37: Hoare triple {6406#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,659 INFO L290 TraceCheckUtils]: 38: Hoare triple {6406#(<= ~counter~0 2)} ~cond := #in~cond; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,659 INFO L290 TraceCheckUtils]: 39: Hoare triple {6406#(<= ~counter~0 2)} assume !(0 == ~cond); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,659 INFO L290 TraceCheckUtils]: 40: Hoare triple {6406#(<= ~counter~0 2)} assume true; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,660 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6406#(<= ~counter~0 2)} {6406#(<= ~counter~0 2)} #84#return; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,660 INFO L272 TraceCheckUtils]: 42: Hoare triple {6406#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,660 INFO L290 TraceCheckUtils]: 43: Hoare triple {6406#(<= ~counter~0 2)} ~cond := #in~cond; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,661 INFO L290 TraceCheckUtils]: 44: Hoare triple {6406#(<= ~counter~0 2)} assume !(0 == ~cond); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,661 INFO L290 TraceCheckUtils]: 45: Hoare triple {6406#(<= ~counter~0 2)} assume true; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,661 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6406#(<= ~counter~0 2)} {6406#(<= ~counter~0 2)} #86#return; {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,662 INFO L290 TraceCheckUtils]: 47: Hoare triple {6406#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {6406#(<= ~counter~0 2)} is VALID [2022-04-28 06:14:45,662 INFO L290 TraceCheckUtils]: 48: Hoare triple {6406#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,662 INFO L290 TraceCheckUtils]: 49: Hoare triple {6461#(<= ~counter~0 3)} assume !!(#t~post7 < 100);havoc #t~post7; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,663 INFO L272 TraceCheckUtils]: 50: Hoare triple {6461#(<= ~counter~0 3)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,663 INFO L290 TraceCheckUtils]: 51: Hoare triple {6461#(<= ~counter~0 3)} ~cond := #in~cond; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,663 INFO L290 TraceCheckUtils]: 52: Hoare triple {6461#(<= ~counter~0 3)} assume !(0 == ~cond); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,663 INFO L290 TraceCheckUtils]: 53: Hoare triple {6461#(<= ~counter~0 3)} assume true; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,664 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6461#(<= ~counter~0 3)} {6461#(<= ~counter~0 3)} #88#return; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,664 INFO L272 TraceCheckUtils]: 55: Hoare triple {6461#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,665 INFO L290 TraceCheckUtils]: 56: Hoare triple {6461#(<= ~counter~0 3)} ~cond := #in~cond; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,665 INFO L290 TraceCheckUtils]: 57: Hoare triple {6461#(<= ~counter~0 3)} assume !(0 == ~cond); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,665 INFO L290 TraceCheckUtils]: 58: Hoare triple {6461#(<= ~counter~0 3)} assume true; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,666 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6461#(<= ~counter~0 3)} {6461#(<= ~counter~0 3)} #90#return; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,666 INFO L290 TraceCheckUtils]: 60: Hoare triple {6461#(<= ~counter~0 3)} 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); {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,666 INFO L290 TraceCheckUtils]: 61: Hoare triple {6461#(<= ~counter~0 3)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6461#(<= ~counter~0 3)} is VALID [2022-04-28 06:14:45,666 INFO L290 TraceCheckUtils]: 62: Hoare triple {6461#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6504#(<= |main_#t~post7| 3)} is VALID [2022-04-28 06:14:45,667 INFO L290 TraceCheckUtils]: 63: Hoare triple {6504#(<= |main_#t~post7| 3)} assume !(#t~post7 < 100);havoc #t~post7; {6310#false} is VALID [2022-04-28 06:14:45,667 INFO L272 TraceCheckUtils]: 64: Hoare triple {6310#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6310#false} is VALID [2022-04-28 06:14:45,667 INFO L290 TraceCheckUtils]: 65: Hoare triple {6310#false} ~cond := #in~cond; {6310#false} is VALID [2022-04-28 06:14:45,667 INFO L290 TraceCheckUtils]: 66: Hoare triple {6310#false} assume 0 == ~cond; {6310#false} is VALID [2022-04-28 06:14:45,667 INFO L290 TraceCheckUtils]: 67: Hoare triple {6310#false} assume !false; {6310#false} is VALID [2022-04-28 06:14:45,667 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 92 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 06:14:45,667 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:14:45,959 INFO L290 TraceCheckUtils]: 67: Hoare triple {6310#false} assume !false; {6310#false} is VALID [2022-04-28 06:14:45,959 INFO L290 TraceCheckUtils]: 66: Hoare triple {6310#false} assume 0 == ~cond; {6310#false} is VALID [2022-04-28 06:14:45,959 INFO L290 TraceCheckUtils]: 65: Hoare triple {6310#false} ~cond := #in~cond; {6310#false} is VALID [2022-04-28 06:14:45,959 INFO L272 TraceCheckUtils]: 64: Hoare triple {6310#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6310#false} is VALID [2022-04-28 06:14:45,959 INFO L290 TraceCheckUtils]: 63: Hoare triple {6532#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {6310#false} is VALID [2022-04-28 06:14:45,960 INFO L290 TraceCheckUtils]: 62: Hoare triple {6536#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6532#(< |main_#t~post7| 100)} is VALID [2022-04-28 06:14:45,960 INFO L290 TraceCheckUtils]: 61: Hoare triple {6536#(< ~counter~0 100)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6536#(< ~counter~0 100)} is VALID [2022-04-28 06:14:45,961 INFO L290 TraceCheckUtils]: 60: Hoare triple {6536#(< ~counter~0 100)} 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); {6536#(< ~counter~0 100)} is VALID [2022-04-28 06:14:45,961 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6309#true} {6536#(< ~counter~0 100)} #90#return; {6536#(< ~counter~0 100)} is VALID [2022-04-28 06:14:45,961 INFO L290 TraceCheckUtils]: 58: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 06:14:45,961 INFO L290 TraceCheckUtils]: 57: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 06:14:45,962 INFO L290 TraceCheckUtils]: 56: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 06:14:45,962 INFO L272 TraceCheckUtils]: 55: Hoare triple {6536#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 06:14:45,962 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6309#true} {6536#(< ~counter~0 100)} #88#return; {6536#(< ~counter~0 100)} is VALID [2022-04-28 06:14:45,962 INFO L290 TraceCheckUtils]: 53: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 06:14:45,962 INFO L290 TraceCheckUtils]: 52: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 06:14:45,962 INFO L290 TraceCheckUtils]: 51: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 06:14:45,963 INFO L272 TraceCheckUtils]: 50: Hoare triple {6536#(< ~counter~0 100)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 06:14:45,976 INFO L290 TraceCheckUtils]: 49: Hoare triple {6536#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {6536#(< ~counter~0 100)} is VALID [2022-04-28 06:14:45,977 INFO L290 TraceCheckUtils]: 48: Hoare triple {6579#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6536#(< ~counter~0 100)} is VALID [2022-04-28 06:14:45,977 INFO L290 TraceCheckUtils]: 47: Hoare triple {6579#(< ~counter~0 99)} assume !(~r~0 >= ~d~0); {6579#(< ~counter~0 99)} is VALID [2022-04-28 06:14:45,978 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6309#true} {6579#(< ~counter~0 99)} #86#return; {6579#(< ~counter~0 99)} is VALID [2022-04-28 06:14:45,978 INFO L290 TraceCheckUtils]: 45: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 06:14:45,978 INFO L290 TraceCheckUtils]: 44: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 06:14:45,978 INFO L290 TraceCheckUtils]: 43: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 06:14:45,978 INFO L272 TraceCheckUtils]: 42: Hoare triple {6579#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 06:14:45,978 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6309#true} {6579#(< ~counter~0 99)} #84#return; {6579#(< ~counter~0 99)} is VALID [2022-04-28 06:14:45,979 INFO L290 TraceCheckUtils]: 40: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 06:14:45,979 INFO L290 TraceCheckUtils]: 39: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 06:14:45,979 INFO L290 TraceCheckUtils]: 38: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 06:14:45,979 INFO L272 TraceCheckUtils]: 37: Hoare triple {6579#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6309#true} is VALID [2022-04-28 06:14:45,979 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6309#true} {6579#(< ~counter~0 99)} #82#return; {6579#(< ~counter~0 99)} is VALID [2022-04-28 06:14:45,979 INFO L290 TraceCheckUtils]: 35: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 06:14:45,979 INFO L290 TraceCheckUtils]: 34: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 06:14:45,979 INFO L290 TraceCheckUtils]: 33: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 06:14:45,979 INFO L272 TraceCheckUtils]: 32: Hoare triple {6579#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 06:14:45,980 INFO L290 TraceCheckUtils]: 31: Hoare triple {6579#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {6579#(< ~counter~0 99)} is VALID [2022-04-28 06:14:45,980 INFO L290 TraceCheckUtils]: 30: Hoare triple {6634#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6579#(< ~counter~0 99)} is VALID [2022-04-28 06:14:45,980 INFO L290 TraceCheckUtils]: 29: Hoare triple {6634#(< ~counter~0 98)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6634#(< ~counter~0 98)} is VALID [2022-04-28 06:14:45,981 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6309#true} {6634#(< ~counter~0 98)} #86#return; {6634#(< ~counter~0 98)} is VALID [2022-04-28 06:14:45,981 INFO L290 TraceCheckUtils]: 27: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 06:14:45,981 INFO L290 TraceCheckUtils]: 26: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 06:14:45,981 INFO L290 TraceCheckUtils]: 25: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 06:14:45,981 INFO L272 TraceCheckUtils]: 24: Hoare triple {6634#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 06:14:45,981 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6309#true} {6634#(< ~counter~0 98)} #84#return; {6634#(< ~counter~0 98)} is VALID [2022-04-28 06:14:45,981 INFO L290 TraceCheckUtils]: 22: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 06:14:45,981 INFO L290 TraceCheckUtils]: 21: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 06:14:45,981 INFO L290 TraceCheckUtils]: 20: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 06:14:45,981 INFO L272 TraceCheckUtils]: 19: Hoare triple {6634#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6309#true} is VALID [2022-04-28 06:14:45,982 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6309#true} {6634#(< ~counter~0 98)} #82#return; {6634#(< ~counter~0 98)} is VALID [2022-04-28 06:14:45,982 INFO L290 TraceCheckUtils]: 17: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 06:14:45,982 INFO L290 TraceCheckUtils]: 16: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 06:14:45,982 INFO L290 TraceCheckUtils]: 15: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 06:14:45,982 INFO L272 TraceCheckUtils]: 14: Hoare triple {6634#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6309#true} is VALID [2022-04-28 06:14:45,982 INFO L290 TraceCheckUtils]: 13: Hoare triple {6634#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {6634#(< ~counter~0 98)} is VALID [2022-04-28 06:14:45,983 INFO L290 TraceCheckUtils]: 12: Hoare triple {6689#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6634#(< ~counter~0 98)} is VALID [2022-04-28 06:14:45,983 INFO L290 TraceCheckUtils]: 11: Hoare triple {6689#(< ~counter~0 97)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6689#(< ~counter~0 97)} is VALID [2022-04-28 06:14:45,983 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6309#true} {6689#(< ~counter~0 97)} #80#return; {6689#(< ~counter~0 97)} is VALID [2022-04-28 06:14:45,983 INFO L290 TraceCheckUtils]: 9: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-28 06:14:45,983 INFO L290 TraceCheckUtils]: 8: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-28 06:14:45,984 INFO L290 TraceCheckUtils]: 7: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-28 06:14:45,984 INFO L272 TraceCheckUtils]: 6: Hoare triple {6689#(< ~counter~0 97)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6309#true} is VALID [2022-04-28 06:14:45,984 INFO L290 TraceCheckUtils]: 5: Hoare triple {6689#(< ~counter~0 97)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {6689#(< ~counter~0 97)} is VALID [2022-04-28 06:14:45,984 INFO L272 TraceCheckUtils]: 4: Hoare triple {6689#(< ~counter~0 97)} call #t~ret8 := main(); {6689#(< ~counter~0 97)} is VALID [2022-04-28 06:14:45,984 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6689#(< ~counter~0 97)} {6309#true} #96#return; {6689#(< ~counter~0 97)} is VALID [2022-04-28 06:14:45,985 INFO L290 TraceCheckUtils]: 2: Hoare triple {6689#(< ~counter~0 97)} assume true; {6689#(< ~counter~0 97)} is VALID [2022-04-28 06:14:45,985 INFO L290 TraceCheckUtils]: 1: Hoare triple {6309#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);~counter~0 := 0; {6689#(< ~counter~0 97)} is VALID [2022-04-28 06:14:45,985 INFO L272 TraceCheckUtils]: 0: Hoare triple {6309#true} call ULTIMATE.init(); {6309#true} is VALID [2022-04-28 06:14:45,985 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 06:14:45,985 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:14:45,986 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1918520033] [2022-04-28 06:14:45,986 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:14:45,986 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1378455321] [2022-04-28 06:14:45,986 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1378455321] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:14:45,986 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:14:45,986 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 06:14:45,986 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:14:45,986 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [362388404] [2022-04-28 06:14:45,986 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [362388404] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:14:45,986 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:14:45,986 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 06:14:45,986 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1445910526] [2022-04-28 06:14:45,986 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:14:45,987 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-28 06:14:45,987 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:14:45,987 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 06:14:46,021 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:14:46,021 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 06:14:46,021 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:14:46,021 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 06:14:46,021 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:14:46,021 INFO L87 Difference]: Start difference. First operand 99 states and 115 transitions. Second operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 06:14:46,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:46,314 INFO L93 Difference]: Finished difference Result 151 states and 174 transitions. [2022-04-28 06:14:46,314 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:14:46,314 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-28 06:14:46,314 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:14:46,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 06:14:46,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 107 transitions. [2022-04-28 06:14:46,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 06:14:46,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 107 transitions. [2022-04-28 06:14:46,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 107 transitions. [2022-04-28 06:14:46,391 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:14:46,393 INFO L225 Difference]: With dead ends: 151 [2022-04-28 06:14:46,393 INFO L226 Difference]: Without dead ends: 136 [2022-04-28 06:14:46,393 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 125 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2022-04-28 06:14:46,394 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 41 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:14:46,394 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 174 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:14:46,394 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-04-28 06:14:46,486 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 133. [2022-04-28 06:14:46,487 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:14:46,487 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:14:46,487 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:14:46,487 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:14:46,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:46,493 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2022-04-28 06:14:46,493 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 156 transitions. [2022-04-28 06:14:46,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:14:46,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:14:46,493 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 136 states. [2022-04-28 06:14:46,493 INFO L87 Difference]: Start difference. First operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 136 states. [2022-04-28 06:14:46,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:14:46,496 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2022-04-28 06:14:46,496 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 156 transitions. [2022-04-28 06:14:46,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:14:46,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:14:46,496 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:14:46,496 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:14:46,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:14:46,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 154 transitions. [2022-04-28 06:14:46,499 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 154 transitions. Word has length 68 [2022-04-28 06:14:46,499 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:14:46,499 INFO L495 AbstractCegarLoop]: Abstraction has 133 states and 154 transitions. [2022-04-28 06:14:46,499 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 06:14:46,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 133 states and 154 transitions. [2022-04-28 06:14:46,690 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:14:46,691 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 154 transitions. [2022-04-28 06:14:46,691 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 06:14:46,691 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:14:46,691 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 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:14:46,710 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 06:14:46,892 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:14:46,892 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:14:46,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:14:46,892 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 1 times [2022-04-28 06:14:46,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:14:46,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [617059223] [2022-04-28 06:14:52,188 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:14:52,188 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:14:52,188 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:14:52,188 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 2 times [2022-04-28 06:14:52,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:14:52,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1827366845] [2022-04-28 06:14:52,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:14:52,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:14:52,198 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:14:52,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [77223325] [2022-04-28 06:14:52,198 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:14:52,198 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:14:52,199 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:14:52,199 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:14:52,207 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:14:52,247 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:14:52,248 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:14:52,248 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 06:14:52,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:14:52,266 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:14:56,094 INFO L272 TraceCheckUtils]: 0: Hoare triple {7570#true} call ULTIMATE.init(); {7570#true} is VALID [2022-04-28 06:14:56,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {7570#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);~counter~0 := 0; {7570#true} is VALID [2022-04-28 06:14:56,095 INFO L290 TraceCheckUtils]: 2: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:14:56,095 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7570#true} {7570#true} #96#return; {7570#true} is VALID [2022-04-28 06:14:56,095 INFO L272 TraceCheckUtils]: 4: Hoare triple {7570#true} call #t~ret8 := main(); {7570#true} is VALID [2022-04-28 06:14:56,095 INFO L290 TraceCheckUtils]: 5: Hoare triple {7570#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;~B~0 := #t~nondet5;havoc #t~nondet5; {7570#true} is VALID [2022-04-28 06:14:56,095 INFO L272 TraceCheckUtils]: 6: Hoare triple {7570#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7570#true} is VALID [2022-04-28 06:14:56,095 INFO L290 TraceCheckUtils]: 7: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:14:56,095 INFO L290 TraceCheckUtils]: 8: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:14:56,095 INFO L290 TraceCheckUtils]: 9: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:14:56,095 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7570#true} {7570#true} #80#return; {7570#true} is VALID [2022-04-28 06:14:56,096 INFO L290 TraceCheckUtils]: 11: Hoare triple {7570#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7608#(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:14:56,096 INFO L290 TraceCheckUtils]: 12: Hoare triple {7608#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7608#(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:14:56,096 INFO L290 TraceCheckUtils]: 13: Hoare triple {7608#(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 !!(#t~post6 < 100);havoc #t~post6; {7608#(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:14:56,096 INFO L272 TraceCheckUtils]: 14: Hoare triple {7608#(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)); {7570#true} is VALID [2022-04-28 06:14:56,097 INFO L290 TraceCheckUtils]: 15: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:14:56,097 INFO L290 TraceCheckUtils]: 16: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:14:56,097 INFO L290 TraceCheckUtils]: 17: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:14:56,097 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7570#true} {7608#(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))} #82#return; {7608#(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:14:56,097 INFO L272 TraceCheckUtils]: 19: Hoare triple {7608#(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)); {7570#true} is VALID [2022-04-28 06:14:56,097 INFO L290 TraceCheckUtils]: 20: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:14:56,097 INFO L290 TraceCheckUtils]: 21: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:14:56,098 INFO L290 TraceCheckUtils]: 22: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:14:56,098 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7570#true} {7608#(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))} #84#return; {7608#(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:14:56,098 INFO L272 TraceCheckUtils]: 24: Hoare triple {7608#(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)); {7570#true} is VALID [2022-04-28 06:14:56,098 INFO L290 TraceCheckUtils]: 25: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:14:56,098 INFO L290 TraceCheckUtils]: 26: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:14:56,098 INFO L290 TraceCheckUtils]: 27: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:14:56,099 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7570#true} {7608#(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))} #86#return; {7608#(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:14:56,100 INFO L290 TraceCheckUtils]: 29: Hoare triple {7608#(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; {7663#(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:14:56,100 INFO L290 TraceCheckUtils]: 30: Hoare triple {7663#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7663#(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:14:56,101 INFO L290 TraceCheckUtils]: 31: Hoare triple {7663#(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 !!(#t~post6 < 100);havoc #t~post6; {7663#(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:14:56,101 INFO L272 TraceCheckUtils]: 32: Hoare triple {7663#(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)); {7570#true} is VALID [2022-04-28 06:14:56,101 INFO L290 TraceCheckUtils]: 33: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:14:56,101 INFO L290 TraceCheckUtils]: 34: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:14:56,101 INFO L290 TraceCheckUtils]: 35: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:14:56,102 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7570#true} {7663#(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))} #82#return; {7663#(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:14:56,102 INFO L272 TraceCheckUtils]: 37: Hoare triple {7663#(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)); {7570#true} is VALID [2022-04-28 06:14:56,102 INFO L290 TraceCheckUtils]: 38: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:14:56,102 INFO L290 TraceCheckUtils]: 39: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:14:56,102 INFO L290 TraceCheckUtils]: 40: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:14:56,102 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7570#true} {7663#(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))} #84#return; {7663#(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:14:56,102 INFO L272 TraceCheckUtils]: 42: Hoare triple {7663#(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)); {7570#true} is VALID [2022-04-28 06:14:56,103 INFO L290 TraceCheckUtils]: 43: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:14:56,103 INFO L290 TraceCheckUtils]: 44: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:14:56,103 INFO L290 TraceCheckUtils]: 45: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:14:56,103 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7570#true} {7663#(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))} #86#return; {7663#(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:14:56,104 INFO L290 TraceCheckUtils]: 47: Hoare triple {7663#(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); {7718#(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:14:56,104 INFO L290 TraceCheckUtils]: 48: Hoare triple {7718#(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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7718#(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:14:56,104 INFO L290 TraceCheckUtils]: 49: Hoare triple {7718#(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 !!(#t~post7 < 100);havoc #t~post7; {7718#(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:14:56,105 INFO L272 TraceCheckUtils]: 50: Hoare triple {7718#(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)); {7570#true} is VALID [2022-04-28 06:14:56,105 INFO L290 TraceCheckUtils]: 51: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:14:56,105 INFO L290 TraceCheckUtils]: 52: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:14:56,105 INFO L290 TraceCheckUtils]: 53: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:14:56,105 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7570#true} {7718#(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))} #88#return; {7718#(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:14:56,105 INFO L272 TraceCheckUtils]: 55: Hoare triple {7718#(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)); {7570#true} is VALID [2022-04-28 06:14:56,105 INFO L290 TraceCheckUtils]: 56: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:14:56,106 INFO L290 TraceCheckUtils]: 57: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:14:56,106 INFO L290 TraceCheckUtils]: 58: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:14:56,106 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7570#true} {7718#(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))} #90#return; {7718#(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:14:56,107 INFO L290 TraceCheckUtils]: 60: Hoare triple {7718#(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); {7758#(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:14:56,109 INFO L290 TraceCheckUtils]: 61: Hoare triple {7758#(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; {7762#(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:14:56,109 INFO L290 TraceCheckUtils]: 62: Hoare triple {7762#(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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7762#(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:14:56,109 INFO L290 TraceCheckUtils]: 63: Hoare triple {7762#(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 !!(#t~post7 < 100);havoc #t~post7; {7762#(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:14:56,110 INFO L272 TraceCheckUtils]: 64: Hoare triple {7762#(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)); {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:14:56,110 INFO L290 TraceCheckUtils]: 65: Hoare triple {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7776#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:14:56,111 INFO L290 TraceCheckUtils]: 66: Hoare triple {7776#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7571#false} is VALID [2022-04-28 06:14:56,111 INFO L290 TraceCheckUtils]: 67: Hoare triple {7571#false} assume !false; {7571#false} is VALID [2022-04-28 06:14:56,111 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 06:14:56,111 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:15:03,478 INFO L290 TraceCheckUtils]: 67: Hoare triple {7571#false} assume !false; {7571#false} is VALID [2022-04-28 06:15:03,481 INFO L290 TraceCheckUtils]: 66: Hoare triple {7776#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7571#false} is VALID [2022-04-28 06:15:03,482 INFO L290 TraceCheckUtils]: 65: Hoare triple {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7776#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:15:03,483 INFO L272 TraceCheckUtils]: 64: Hoare triple {7792#(= (+ 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)); {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:15:03,484 INFO L290 TraceCheckUtils]: 63: Hoare triple {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 100);havoc #t~post7; {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:15:03,484 INFO L290 TraceCheckUtils]: 62: Hoare triple {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:15:03,486 INFO L290 TraceCheckUtils]: 61: Hoare triple {7802#(= (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; {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:15:03,495 INFO L290 TraceCheckUtils]: 60: Hoare triple {7806#(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); {7802#(= (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:15:03,496 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7570#true} {7806#(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)))))} #90#return; {7806#(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:15:03,496 INFO L290 TraceCheckUtils]: 58: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:15:03,496 INFO L290 TraceCheckUtils]: 57: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:15:03,496 INFO L290 TraceCheckUtils]: 56: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:15:03,496 INFO L272 TraceCheckUtils]: 55: Hoare triple {7806#(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)); {7570#true} is VALID [2022-04-28 06:15:03,497 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7570#true} {7806#(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)))))} #88#return; {7806#(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:15:03,497 INFO L290 TraceCheckUtils]: 53: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:15:03,497 INFO L290 TraceCheckUtils]: 52: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:15:03,497 INFO L290 TraceCheckUtils]: 51: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:15:03,497 INFO L272 TraceCheckUtils]: 50: Hoare triple {7806#(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)); {7570#true} is VALID [2022-04-28 06:15:03,498 INFO L290 TraceCheckUtils]: 49: Hoare triple {7806#(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 !!(#t~post7 < 100);havoc #t~post7; {7806#(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:15:03,499 INFO L290 TraceCheckUtils]: 48: Hoare triple {7806#(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)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7806#(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:15:03,500 INFO L290 TraceCheckUtils]: 47: Hoare triple {7846#(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); {7806#(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:15:03,500 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7570#true} {7846#(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))} #86#return; {7846#(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:15:03,500 INFO L290 TraceCheckUtils]: 45: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:15:03,500 INFO L290 TraceCheckUtils]: 44: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:15:03,500 INFO L290 TraceCheckUtils]: 43: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:15:03,501 INFO L272 TraceCheckUtils]: 42: Hoare triple {7846#(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)); {7570#true} is VALID [2022-04-28 06:15:03,501 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7570#true} {7846#(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))} #84#return; {7846#(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:15:03,501 INFO L290 TraceCheckUtils]: 40: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:15:03,501 INFO L290 TraceCheckUtils]: 39: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:15:03,501 INFO L290 TraceCheckUtils]: 38: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:15:03,501 INFO L272 TraceCheckUtils]: 37: Hoare triple {7846#(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)); {7570#true} is VALID [2022-04-28 06:15:03,502 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7570#true} {7846#(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))} #82#return; {7846#(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:15:03,502 INFO L290 TraceCheckUtils]: 35: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:15:03,502 INFO L290 TraceCheckUtils]: 34: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:15:03,502 INFO L290 TraceCheckUtils]: 33: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:15:03,502 INFO L272 TraceCheckUtils]: 32: Hoare triple {7846#(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)); {7570#true} is VALID [2022-04-28 06:15:03,503 INFO L290 TraceCheckUtils]: 31: Hoare triple {7846#(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 !!(#t~post6 < 100);havoc #t~post6; {7846#(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:15:03,504 INFO L290 TraceCheckUtils]: 30: Hoare triple {7846#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7846#(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:15:03,507 INFO L290 TraceCheckUtils]: 29: Hoare triple {7901#(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; {7846#(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:15:03,508 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7570#true} {7901#(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))} #86#return; {7901#(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:15:03,508 INFO L290 TraceCheckUtils]: 27: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:15:03,508 INFO L290 TraceCheckUtils]: 26: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:15:03,508 INFO L290 TraceCheckUtils]: 25: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:15:03,508 INFO L272 TraceCheckUtils]: 24: Hoare triple {7901#(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)); {7570#true} is VALID [2022-04-28 06:15:03,509 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7570#true} {7901#(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))} #84#return; {7901#(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:15:03,509 INFO L290 TraceCheckUtils]: 22: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:15:03,509 INFO L290 TraceCheckUtils]: 21: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:15:03,509 INFO L290 TraceCheckUtils]: 20: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:15:03,509 INFO L272 TraceCheckUtils]: 19: Hoare triple {7901#(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)); {7570#true} is VALID [2022-04-28 06:15:03,509 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7570#true} {7901#(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))} #82#return; {7901#(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:15:03,509 INFO L290 TraceCheckUtils]: 17: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:15:03,510 INFO L290 TraceCheckUtils]: 16: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:15:03,510 INFO L290 TraceCheckUtils]: 15: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:15:03,510 INFO L272 TraceCheckUtils]: 14: Hoare triple {7901#(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)); {7570#true} is VALID [2022-04-28 06:15:03,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {7901#(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 !!(#t~post6 < 100);havoc #t~post6; {7901#(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:15:03,510 INFO L290 TraceCheckUtils]: 12: Hoare triple {7901#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7901#(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:15:03,511 INFO L290 TraceCheckUtils]: 11: Hoare triple {7570#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7901#(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:15:03,512 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7570#true} {7570#true} #80#return; {7570#true} is VALID [2022-04-28 06:15:03,512 INFO L290 TraceCheckUtils]: 9: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:15:03,512 INFO L290 TraceCheckUtils]: 8: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-28 06:15:03,512 INFO L290 TraceCheckUtils]: 7: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-28 06:15:03,512 INFO L272 TraceCheckUtils]: 6: Hoare triple {7570#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7570#true} is VALID [2022-04-28 06:15:03,512 INFO L290 TraceCheckUtils]: 5: Hoare triple {7570#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;~B~0 := #t~nondet5;havoc #t~nondet5; {7570#true} is VALID [2022-04-28 06:15:03,512 INFO L272 TraceCheckUtils]: 4: Hoare triple {7570#true} call #t~ret8 := main(); {7570#true} is VALID [2022-04-28 06:15:03,512 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7570#true} {7570#true} #96#return; {7570#true} is VALID [2022-04-28 06:15:03,512 INFO L290 TraceCheckUtils]: 2: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-28 06:15:03,512 INFO L290 TraceCheckUtils]: 1: Hoare triple {7570#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);~counter~0 := 0; {7570#true} is VALID [2022-04-28 06:15:03,512 INFO L272 TraceCheckUtils]: 0: Hoare triple {7570#true} call ULTIMATE.init(); {7570#true} is VALID [2022-04-28 06:15:03,513 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 06:15:03,513 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:15:03,513 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1827366845] [2022-04-28 06:15:03,513 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:15:03,513 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [77223325] [2022-04-28 06:15:03,513 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [77223325] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:15:03,513 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:15:03,513 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 06:15:03,513 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:15:03,513 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [617059223] [2022-04-28 06:15:03,513 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [617059223] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:03,513 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:03,513 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 06:15:03,513 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1034454295] [2022-04-28 06:15:03,514 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:15:03,514 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 68 [2022-04-28 06:15:03,514 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:15:03,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:15:03,558 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:15:03,558 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 06:15:03,558 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:03,559 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 06:15:03,559 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:15:03,559 INFO L87 Difference]: Start difference. First operand 133 states and 154 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:15:04,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:04,385 INFO L93 Difference]: Finished difference Result 178 states and 213 transitions. [2022-04-28 06:15:04,385 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:15:04,385 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 68 [2022-04-28 06:15:04,385 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:15:04,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:15:04,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 06:15:04,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:15:04,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 06:15:04,389 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-28 06:15:04,472 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:15:04,474 INFO L225 Difference]: With dead ends: 178 [2022-04-28 06:15:04,474 INFO L226 Difference]: Without dead ends: 143 [2022-04-28 06:15:04,475 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 122 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-28 06:15:04,475 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 12 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 183 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 207 SdHoareTripleChecker+Invalid, 196 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 183 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 06:15:04,475 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 207 Invalid, 196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 183 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 06:15:04,476 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-04-28 06:15:04,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 141. [2022-04-28 06:15:04,605 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:15:04,605 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:15:04,606 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:15:04,606 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:15:04,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:04,608 INFO L93 Difference]: Finished difference Result 143 states and 165 transitions. [2022-04-28 06:15:04,608 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 165 transitions. [2022-04-28 06:15:04,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:04,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:04,609 INFO L74 IsIncluded]: Start isIncluded. First operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-28 06:15:04,609 INFO L87 Difference]: Start difference. First operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-28 06:15:04,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:04,611 INFO L93 Difference]: Finished difference Result 143 states and 165 transitions. [2022-04-28 06:15:04,611 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 165 transitions. [2022-04-28 06:15:04,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:04,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:04,611 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:15:04,611 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:15:04,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:15:04,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 162 transitions. [2022-04-28 06:15:04,614 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 162 transitions. Word has length 68 [2022-04-28 06:15:04,614 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:15:04,614 INFO L495 AbstractCegarLoop]: Abstraction has 141 states and 162 transitions. [2022-04-28 06:15:04,615 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:15:04,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 141 states and 162 transitions. [2022-04-28 06:15:04,769 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:15:04,770 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 162 transitions. [2022-04-28 06:15:04,774 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 06:15:04,774 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:15:04,774 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 2, 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] [2022-04-28 06:15:04,790 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:15:04,974 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:15:04,975 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:15:04,975 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:15:04,975 INFO L85 PathProgramCache]: Analyzing trace with hash -1390565976, now seen corresponding path program 3 times [2022-04-28 06:15:04,975 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:04,975 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1402041542] [2022-04-28 06:15:13,547 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:15:13,547 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:15:13,547 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:15:13,547 INFO L85 PathProgramCache]: Analyzing trace with hash -1390565976, now seen corresponding path program 4 times [2022-04-28 06:15:13,547 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:15:13,547 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [957905887] [2022-04-28 06:15:13,547 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:15:13,547 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:15:13,555 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:15:13,555 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [742393900] [2022-04-28 06:15:13,555 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:15:13,555 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:15:13,556 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:15:13,556 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:15:13,557 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:15:13,605 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:15:13,605 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:15:13,606 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 06:15:13,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:13,620 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:15:22,914 INFO L272 TraceCheckUtils]: 0: Hoare triple {8917#true} call ULTIMATE.init(); {8917#true} is VALID [2022-04-28 06:15:22,914 INFO L290 TraceCheckUtils]: 1: Hoare triple {8917#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);~counter~0 := 0; {8917#true} is VALID [2022-04-28 06:15:22,914 INFO L290 TraceCheckUtils]: 2: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:15:22,915 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8917#true} {8917#true} #96#return; {8917#true} is VALID [2022-04-28 06:15:22,915 INFO L272 TraceCheckUtils]: 4: Hoare triple {8917#true} call #t~ret8 := main(); {8917#true} is VALID [2022-04-28 06:15:22,915 INFO L290 TraceCheckUtils]: 5: Hoare triple {8917#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;~B~0 := #t~nondet5;havoc #t~nondet5; {8917#true} is VALID [2022-04-28 06:15:22,915 INFO L272 TraceCheckUtils]: 6: Hoare triple {8917#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8917#true} is VALID [2022-04-28 06:15:22,915 INFO L290 TraceCheckUtils]: 7: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:15:22,915 INFO L290 TraceCheckUtils]: 8: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:15:22,915 INFO L290 TraceCheckUtils]: 9: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:15:22,915 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8917#true} {8917#true} #80#return; {8917#true} is VALID [2022-04-28 06:15:22,915 INFO L290 TraceCheckUtils]: 11: Hoare triple {8917#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8955#(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:15:22,916 INFO L290 TraceCheckUtils]: 12: Hoare triple {8955#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8955#(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:15:22,916 INFO L290 TraceCheckUtils]: 13: Hoare triple {8955#(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 !!(#t~post6 < 100);havoc #t~post6; {8955#(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:15:22,916 INFO L272 TraceCheckUtils]: 14: Hoare triple {8955#(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)); {8917#true} is VALID [2022-04-28 06:15:22,916 INFO L290 TraceCheckUtils]: 15: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:15:22,916 INFO L290 TraceCheckUtils]: 16: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:15:22,916 INFO L290 TraceCheckUtils]: 17: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:15:22,917 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8917#true} {8955#(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))} #82#return; {8955#(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:15:22,917 INFO L272 TraceCheckUtils]: 19: Hoare triple {8955#(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)); {8917#true} is VALID [2022-04-28 06:15:22,917 INFO L290 TraceCheckUtils]: 20: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:15:22,917 INFO L290 TraceCheckUtils]: 21: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:15:22,917 INFO L290 TraceCheckUtils]: 22: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:15:22,917 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8917#true} {8955#(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))} #84#return; {8955#(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:15:22,918 INFO L272 TraceCheckUtils]: 24: Hoare triple {8955#(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)); {8917#true} is VALID [2022-04-28 06:15:22,918 INFO L290 TraceCheckUtils]: 25: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:15:22,918 INFO L290 TraceCheckUtils]: 26: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:15:22,918 INFO L290 TraceCheckUtils]: 27: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:15:22,918 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8917#true} {8955#(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))} #86#return; {8955#(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:15:22,919 INFO L290 TraceCheckUtils]: 29: Hoare triple {8955#(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; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:15:22,920 INFO L290 TraceCheckUtils]: 30: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:15:22,920 INFO L290 TraceCheckUtils]: 31: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 100);havoc #t~post6; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:15:22,920 INFO L272 TraceCheckUtils]: 32: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 06:15:22,920 INFO L290 TraceCheckUtils]: 33: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:15:22,920 INFO L290 TraceCheckUtils]: 34: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:15:22,920 INFO L290 TraceCheckUtils]: 35: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:15:22,921 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8917#true} {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #82#return; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:15:22,921 INFO L272 TraceCheckUtils]: 37: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-28 06:15:22,921 INFO L290 TraceCheckUtils]: 38: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:15:22,921 INFO L290 TraceCheckUtils]: 39: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:15:22,921 INFO L290 TraceCheckUtils]: 40: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:15:22,921 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8917#true} {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #84#return; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:15:22,922 INFO L272 TraceCheckUtils]: 42: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 06:15:22,922 INFO L290 TraceCheckUtils]: 43: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:15:22,922 INFO L290 TraceCheckUtils]: 44: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:15:22,922 INFO L290 TraceCheckUtils]: 45: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:15:22,922 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8917#true} {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #86#return; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:15:22,923 INFO L290 TraceCheckUtils]: 47: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:15:22,923 INFO L290 TraceCheckUtils]: 48: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:15:22,923 INFO L290 TraceCheckUtils]: 49: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 100);havoc #t~post7; {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:15:22,923 INFO L272 TraceCheckUtils]: 50: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- 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)); {8917#true} is VALID [2022-04-28 06:15:22,924 INFO L290 TraceCheckUtils]: 51: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:15:22,924 INFO L290 TraceCheckUtils]: 52: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:15:22,924 INFO L290 TraceCheckUtils]: 53: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:15:22,924 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8917#true} {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #88#return; {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:15:22,924 INFO L272 TraceCheckUtils]: 55: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 06:15:22,924 INFO L290 TraceCheckUtils]: 56: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:15:22,924 INFO L290 TraceCheckUtils]: 57: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:15:22,924 INFO L290 TraceCheckUtils]: 58: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:15:22,925 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8917#true} {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #90#return; {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:15:22,927 INFO L290 TraceCheckUtils]: 60: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9105#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:15:22,928 INFO L290 TraceCheckUtils]: 61: Hoare triple {9105#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} is VALID [2022-04-28 06:15:22,928 INFO L290 TraceCheckUtils]: 62: Hoare triple {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} is VALID [2022-04-28 06:15:22,929 INFO L290 TraceCheckUtils]: 63: Hoare triple {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} assume !!(#t~post7 < 100);havoc #t~post7; {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} is VALID [2022-04-28 06:15:22,929 INFO L272 TraceCheckUtils]: 64: Hoare triple {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 06:15:22,929 INFO L290 TraceCheckUtils]: 65: Hoare triple {8917#true} ~cond := #in~cond; {9122#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:15:22,929 INFO L290 TraceCheckUtils]: 66: Hoare triple {9122#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:15:22,930 INFO L290 TraceCheckUtils]: 67: Hoare triple {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:15:22,938 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} #88#return; {9133#(and (exists ((aux_div_aux_mod_aux_mod_main_~A~0_26_37_114 Int) (aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 Int) (aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 Int) (aux_div_aux_mod_main_~A~0_26_37 Int)) (and (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 1) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (< main_~d~0 (+ (mod (+ (* aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 4294967295) 4294967295 (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) 4294967296) 1)) (< (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 4294967297)) (<= (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (* 2 aux_div_aux_mod_aux_mod_main_~A~0_26_37_114))) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160) (< aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (< aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (+ (mod main_~B~0 4294967296) 1)) (< (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (* 2 aux_div_aux_mod_aux_mod_main_~A~0_26_37_114)) (+ 2 (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 1) (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2))))) (= main_~p~0 1))} is VALID [2022-04-28 06:15:22,939 INFO L272 TraceCheckUtils]: 69: Hoare triple {9133#(and (exists ((aux_div_aux_mod_aux_mod_main_~A~0_26_37_114 Int) (aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 Int) (aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 Int) (aux_div_aux_mod_main_~A~0_26_37 Int)) (and (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 1) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (< main_~d~0 (+ (mod (+ (* aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 4294967295) 4294967295 (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) 4294967296) 1)) (< (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 4294967297)) (<= (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (* 2 aux_div_aux_mod_aux_mod_main_~A~0_26_37_114))) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160) (< aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (< aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (+ (mod main_~B~0 4294967296) 1)) (< (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (* 2 aux_div_aux_mod_aux_mod_main_~A~0_26_37_114)) (+ 2 (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 1) (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2))))) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:15:22,940 INFO L290 TraceCheckUtils]: 70: Hoare triple {9137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:15:22,941 INFO L290 TraceCheckUtils]: 71: Hoare triple {9141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8918#false} is VALID [2022-04-28 06:15:22,941 INFO L290 TraceCheckUtils]: 72: Hoare triple {8918#false} assume !false; {8918#false} is VALID [2022-04-28 06:15:22,941 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 41 proven. 11 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-28 06:15:22,941 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:16:02,963 INFO L290 TraceCheckUtils]: 72: Hoare triple {8918#false} assume !false; {8918#false} is VALID [2022-04-28 06:16:02,964 INFO L290 TraceCheckUtils]: 71: Hoare triple {9141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8918#false} is VALID [2022-04-28 06:16:02,964 INFO L290 TraceCheckUtils]: 70: Hoare triple {9137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:16:02,965 INFO L272 TraceCheckUtils]: 69: Hoare triple {9157#(= 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)); {9137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:16:02,965 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} #88#return; {9157#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:02,966 INFO L290 TraceCheckUtils]: 67: Hoare triple {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:16:02,966 INFO L290 TraceCheckUtils]: 66: Hoare triple {9171#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:16:02,966 INFO L290 TraceCheckUtils]: 65: Hoare triple {8917#true} ~cond := #in~cond; {9171#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:16:02,966 INFO L272 TraceCheckUtils]: 64: Hoare triple {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= 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)); {8917#true} is VALID [2022-04-28 06:16:02,967 INFO L290 TraceCheckUtils]: 63: Hoare triple {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 100);havoc #t~post7; {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:16:02,967 INFO L290 TraceCheckUtils]: 62: Hoare triple {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:16:02,969 INFO L290 TraceCheckUtils]: 61: Hoare triple {9184#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= 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; {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:16:02,977 INFO L290 TraceCheckUtils]: 60: Hoare triple {9188#(and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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); {9184#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:16:02,978 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8917#true} {9188#(and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} #90#return; {9188#(and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 06:16:02,978 INFO L290 TraceCheckUtils]: 58: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:16:02,978 INFO L290 TraceCheckUtils]: 57: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:16:02,978 INFO L290 TraceCheckUtils]: 56: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:16:02,978 INFO L272 TraceCheckUtils]: 55: Hoare triple {9188#(and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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)); {8917#true} is VALID [2022-04-28 06:16:02,979 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8917#true} {9188#(and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} #88#return; {9188#(and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 06:16:02,979 INFO L290 TraceCheckUtils]: 53: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:16:02,979 INFO L290 TraceCheckUtils]: 52: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:16:02,979 INFO L290 TraceCheckUtils]: 51: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:16:02,979 INFO L272 TraceCheckUtils]: 50: Hoare triple {9188#(and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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)); {8917#true} is VALID [2022-04-28 06:16:02,980 INFO L290 TraceCheckUtils]: 49: Hoare triple {9188#(and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} assume !!(#t~post7 < 100);havoc #t~post7; {9188#(and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 06:16:02,981 INFO L290 TraceCheckUtils]: 48: Hoare triple {9188#(and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9188#(and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 06:16:02,982 INFO L290 TraceCheckUtils]: 47: Hoare triple {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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); {9188#(and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 06:16:02,982 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8917#true} {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} #86#return; {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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:16:02,982 INFO L290 TraceCheckUtils]: 45: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:16:02,982 INFO L290 TraceCheckUtils]: 44: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:16:02,982 INFO L290 TraceCheckUtils]: 43: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:16:02,983 INFO L272 TraceCheckUtils]: 42: Hoare triple {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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)); {8917#true} is VALID [2022-04-28 06:16:02,992 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8917#true} {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} #84#return; {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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:16:02,992 INFO L290 TraceCheckUtils]: 40: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:16:02,992 INFO L290 TraceCheckUtils]: 39: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:16:02,992 INFO L290 TraceCheckUtils]: 38: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:16:02,992 INFO L272 TraceCheckUtils]: 37: Hoare triple {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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)); {8917#true} is VALID [2022-04-28 06:16:02,992 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8917#true} {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} #82#return; {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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:16:02,993 INFO L290 TraceCheckUtils]: 35: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:16:02,993 INFO L290 TraceCheckUtils]: 34: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:16:02,993 INFO L290 TraceCheckUtils]: 33: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:16:02,993 INFO L272 TraceCheckUtils]: 32: Hoare triple {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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)); {8917#true} is VALID [2022-04-28 06:16:02,994 INFO L290 TraceCheckUtils]: 31: Hoare triple {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 100);havoc #t~post6; {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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:16:02,995 INFO L290 TraceCheckUtils]: 30: Hoare triple {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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:16:02,997 INFO L290 TraceCheckUtils]: 29: Hoare triple {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9228#(or (and (or (and (or (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) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 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) (div main_~d~0 2) 1)))) (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) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ 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:16:02,999 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8917#true} {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #86#return; {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:16:02,999 INFO L290 TraceCheckUtils]: 27: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:16:02,999 INFO L290 TraceCheckUtils]: 26: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:16:02,999 INFO L290 TraceCheckUtils]: 25: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:16:02,999 INFO L272 TraceCheckUtils]: 24: Hoare triple {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 06:16:02,999 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8917#true} {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #84#return; {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:16:02,999 INFO L290 TraceCheckUtils]: 22: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:16:03,000 INFO L290 TraceCheckUtils]: 21: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:16:03,000 INFO L290 TraceCheckUtils]: 20: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:16:03,000 INFO L272 TraceCheckUtils]: 19: Hoare triple {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-28 06:16:03,001 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8917#true} {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #82#return; {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:16:03,001 INFO L290 TraceCheckUtils]: 17: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:16:03,001 INFO L290 TraceCheckUtils]: 16: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:16:03,002 INFO L290 TraceCheckUtils]: 15: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:16:03,002 INFO L272 TraceCheckUtils]: 14: Hoare triple {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-28 06:16:03,002 INFO L290 TraceCheckUtils]: 13: Hoare triple {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 100);havoc #t~post6; {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:16:03,003 INFO L290 TraceCheckUtils]: 12: Hoare triple {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:16:03,003 INFO L290 TraceCheckUtils]: 11: Hoare triple {8917#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9283#(or (< (+ (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)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:16:03,003 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8917#true} {8917#true} #80#return; {8917#true} is VALID [2022-04-28 06:16:03,003 INFO L290 TraceCheckUtils]: 9: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:16:03,004 INFO L290 TraceCheckUtils]: 8: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-28 06:16:03,004 INFO L290 TraceCheckUtils]: 7: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-28 06:16:03,004 INFO L272 TraceCheckUtils]: 6: Hoare triple {8917#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8917#true} is VALID [2022-04-28 06:16:03,004 INFO L290 TraceCheckUtils]: 5: Hoare triple {8917#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;~B~0 := #t~nondet5;havoc #t~nondet5; {8917#true} is VALID [2022-04-28 06:16:03,004 INFO L272 TraceCheckUtils]: 4: Hoare triple {8917#true} call #t~ret8 := main(); {8917#true} is VALID [2022-04-28 06:16:03,004 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8917#true} {8917#true} #96#return; {8917#true} is VALID [2022-04-28 06:16:03,004 INFO L290 TraceCheckUtils]: 2: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-28 06:16:03,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {8917#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);~counter~0 := 0; {8917#true} is VALID [2022-04-28 06:16:03,004 INFO L272 TraceCheckUtils]: 0: Hoare triple {8917#true} call ULTIMATE.init(); {8917#true} is VALID [2022-04-28 06:16:03,004 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 41 proven. 11 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-28 06:16:03,005 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:03,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [957905887] [2022-04-28 06:16:03,005 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:16:03,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [742393900] [2022-04-28 06:16:03,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [742393900] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:16:03,005 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:16:03,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-28 06:16:03,005 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:03,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1402041542] [2022-04-28 06:16:03,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1402041542] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:03,005 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:03,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 06:16:03,005 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1260577834] [2022-04-28 06:16:03,005 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:03,006 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 06:16:03,006 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:03,006 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:16:03,068 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:16:03,068 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 06:16:03,069 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:03,069 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 06:16:03,069 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=276, Unknown=0, NotChecked=0, Total=342 [2022-04-28 06:16:03,069 INFO L87 Difference]: Start difference. First operand 141 states and 162 transitions. Second operand has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:16:04,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:04,819 INFO L93 Difference]: Finished difference Result 149 states and 171 transitions. [2022-04-28 06:16:04,819 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 06:16:04,820 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 06:16:04,820 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:04,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:16:04,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-28 06:16:04,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:16:04,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-28 06:16:04,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 80 transitions. [2022-04-28 06:16:04,924 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:16:04,927 INFO L225 Difference]: With dead ends: 149 [2022-04-28 06:16:04,927 INFO L226 Difference]: Without dead ends: 147 [2022-04-28 06:16:04,927 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 127 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=89, Invalid=373, Unknown=0, NotChecked=0, Total=462 [2022-04-28 06:16:04,927 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 15 mSDsluCounter, 194 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 362 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 50 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 06:16:04,927 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 232 Invalid, 362 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 299 Invalid, 0 Unknown, 50 Unchecked, 0.8s Time] [2022-04-28 06:16:04,928 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2022-04-28 06:16:05,050 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 147. [2022-04-28 06:16:05,050 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:05,050 INFO L82 GeneralOperation]: Start isEquivalent. First operand 147 states. Second operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 06:16:05,051 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 06:16:05,051 INFO L87 Difference]: Start difference. First operand 147 states. Second operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 06:16:05,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:05,054 INFO L93 Difference]: Finished difference Result 147 states and 169 transitions. [2022-04-28 06:16:05,054 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 169 transitions. [2022-04-28 06:16:05,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:05,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:05,054 INFO L74 IsIncluded]: Start isIncluded. First operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) Second operand 147 states. [2022-04-28 06:16:05,054 INFO L87 Difference]: Start difference. First operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) Second operand 147 states. [2022-04-28 06:16:05,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:05,057 INFO L93 Difference]: Finished difference Result 147 states and 169 transitions. [2022-04-28 06:16:05,057 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 169 transitions. [2022-04-28 06:16:05,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:05,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:05,057 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:05,057 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:05,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 06:16:05,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 169 transitions. [2022-04-28 06:16:05,060 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 169 transitions. Word has length 73 [2022-04-28 06:16:05,060 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:05,060 INFO L495 AbstractCegarLoop]: Abstraction has 147 states and 169 transitions. [2022-04-28 06:16:05,060 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:16:05,061 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 147 states and 169 transitions. [2022-04-28 06:16:05,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 169 edges. 169 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:05,264 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 169 transitions. [2022-04-28 06:16:05,265 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 06:16:05,265 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:05,265 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:05,282 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:16:05,475 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:16:05,476 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:05,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:05,476 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 1 times [2022-04-28 06:16:05,476 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:05,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2137518374] [2022-04-28 06:16:13,053 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:16:13,054 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:16:13,054 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:16:13,054 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 2 times [2022-04-28 06:16:13,054 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:13,054 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1969706040] [2022-04-28 06:16:13,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:13,054 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:13,063 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:16:13,063 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [48011845] [2022-04-28 06:16:13,063 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:16:13,063 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:13,063 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:13,064 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:16:13,065 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:16:13,147 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:16:13,147 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:16:13,148 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 06:16:13,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:13,162 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:16:48,566 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:16:54,294 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:17:15,182 INFO L272 TraceCheckUtils]: 0: Hoare triple {10265#true} call ULTIMATE.init(); {10265#true} is VALID [2022-04-28 06:17:15,182 INFO L290 TraceCheckUtils]: 1: Hoare triple {10265#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);~counter~0 := 0; {10265#true} is VALID [2022-04-28 06:17:15,182 INFO L290 TraceCheckUtils]: 2: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:17:15,182 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10265#true} {10265#true} #96#return; {10265#true} is VALID [2022-04-28 06:17:15,183 INFO L272 TraceCheckUtils]: 4: Hoare triple {10265#true} call #t~ret8 := main(); {10265#true} is VALID [2022-04-28 06:17:15,183 INFO L290 TraceCheckUtils]: 5: Hoare triple {10265#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;~B~0 := #t~nondet5;havoc #t~nondet5; {10265#true} is VALID [2022-04-28 06:17:15,183 INFO L272 TraceCheckUtils]: 6: Hoare triple {10265#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:17:15,183 INFO L290 TraceCheckUtils]: 7: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:17:15,183 INFO L290 TraceCheckUtils]: 8: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:17:15,183 INFO L290 TraceCheckUtils]: 9: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:17:15,183 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10265#true} {10265#true} #80#return; {10265#true} is VALID [2022-04-28 06:17:15,183 INFO L290 TraceCheckUtils]: 11: Hoare triple {10265#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,184 INFO L290 TraceCheckUtils]: 12: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,184 INFO L290 TraceCheckUtils]: 13: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post6 < 100);havoc #t~post6; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,184 INFO L272 TraceCheckUtils]: 14: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:17:15,184 INFO L290 TraceCheckUtils]: 15: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:17:15,184 INFO L290 TraceCheckUtils]: 16: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:17:15,184 INFO L290 TraceCheckUtils]: 17: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:17:15,185 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #82#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,185 INFO L272 TraceCheckUtils]: 19: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:17:15,185 INFO L290 TraceCheckUtils]: 20: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:17:15,185 INFO L290 TraceCheckUtils]: 21: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:17:15,185 INFO L290 TraceCheckUtils]: 22: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:17:15,185 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #84#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,185 INFO L272 TraceCheckUtils]: 24: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:17:15,185 INFO L290 TraceCheckUtils]: 25: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:17:15,185 INFO L290 TraceCheckUtils]: 26: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:17:15,185 INFO L290 TraceCheckUtils]: 27: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:17:15,186 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #86#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,186 INFO L290 TraceCheckUtils]: 29: Hoare triple {10303#(and (= 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; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,187 INFO L290 TraceCheckUtils]: 30: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,187 INFO L290 TraceCheckUtils]: 31: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post6 < 100);havoc #t~post6; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,187 INFO L272 TraceCheckUtils]: 32: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:17:15,187 INFO L290 TraceCheckUtils]: 33: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:17:15,187 INFO L290 TraceCheckUtils]: 34: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:17:15,187 INFO L290 TraceCheckUtils]: 35: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:17:15,188 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #82#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,188 INFO L272 TraceCheckUtils]: 37: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:17:15,188 INFO L290 TraceCheckUtils]: 38: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:17:15,188 INFO L290 TraceCheckUtils]: 39: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:17:15,188 INFO L290 TraceCheckUtils]: 40: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:17:15,188 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #84#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,188 INFO L272 TraceCheckUtils]: 42: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:17:15,188 INFO L290 TraceCheckUtils]: 43: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:17:15,188 INFO L290 TraceCheckUtils]: 44: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:17:15,188 INFO L290 TraceCheckUtils]: 45: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:17:15,189 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #86#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,189 INFO L290 TraceCheckUtils]: 47: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,190 INFO L290 TraceCheckUtils]: 48: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,190 INFO L290 TraceCheckUtils]: 49: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post7 < 100);havoc #t~post7; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,190 INFO L272 TraceCheckUtils]: 50: Hoare triple {10303#(and (= main_~q~0 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)); {10265#true} is VALID [2022-04-28 06:17:15,190 INFO L290 TraceCheckUtils]: 51: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:17:15,190 INFO L290 TraceCheckUtils]: 52: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:17:15,190 INFO L290 TraceCheckUtils]: 53: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:17:15,191 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #88#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,191 INFO L272 TraceCheckUtils]: 55: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:17:15,191 INFO L290 TraceCheckUtils]: 56: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:17:15,191 INFO L290 TraceCheckUtils]: 57: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:17:15,191 INFO L290 TraceCheckUtils]: 58: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:17:15,191 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #90#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,192 INFO L290 TraceCheckUtils]: 60: Hoare triple {10303#(and (= main_~q~0 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); {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:15,193 INFO L290 TraceCheckUtils]: 61: Hoare triple {10303#(and (= main_~q~0 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; {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 06:17:15,193 INFO L290 TraceCheckUtils]: 62: Hoare triple {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 06:17:15,193 INFO L290 TraceCheckUtils]: 63: Hoare triple {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} assume !!(#t~post7 < 100);havoc #t~post7; {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 06:17:15,193 INFO L272 TraceCheckUtils]: 64: Hoare triple {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:17:15,194 INFO L290 TraceCheckUtils]: 65: Hoare triple {10265#true} ~cond := #in~cond; {10467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:15,194 INFO L290 TraceCheckUtils]: 66: Hoare triple {10467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:17:15,194 INFO L290 TraceCheckUtils]: 67: Hoare triple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:17:15,195 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #88#return; {10478#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 06:17:15,195 INFO L272 TraceCheckUtils]: 69: Hoare triple {10478#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~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)); {10265#true} is VALID [2022-04-28 06:17:15,195 INFO L290 TraceCheckUtils]: 70: Hoare triple {10265#true} ~cond := #in~cond; {10467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:15,195 INFO L290 TraceCheckUtils]: 71: Hoare triple {10467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:17:15,196 INFO L290 TraceCheckUtils]: 72: Hoare triple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:17:17,198 WARN L284 TraceCheckUtils]: 73: Hoare quadruple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} {10478#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #90#return; {10494#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 0) (= main_~q~0 0) (exists ((aux_div_aux_mod_main_~B~0_26_37 Int) (aux_mod_aux_mod_main_~B~0_26_37 Int)) (and (< (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37) 4294967296) (<= 0 aux_mod_aux_mod_main_~B~0_26_37) (<= 0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) (< aux_mod_aux_mod_main_~B~0_26_37 4294967296) (= (* main_~p~0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) main_~d~0)))) (and (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= (mod (div (+ main_~d~0 (* (- 1) (* (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0))) 4294967296) main_~p~0) 0) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0)))) (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0))) 4294967296) (not (= main_~q~0 0)) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (= (mod (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) 0))) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is UNKNOWN [2022-04-28 06:17:17,199 INFO L290 TraceCheckUtils]: 74: Hoare triple {10494#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 0) (= main_~q~0 0) (exists ((aux_div_aux_mod_main_~B~0_26_37 Int) (aux_mod_aux_mod_main_~B~0_26_37 Int)) (and (< (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37) 4294967296) (<= 0 aux_mod_aux_mod_main_~B~0_26_37) (<= 0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) (< aux_mod_aux_mod_main_~B~0_26_37 4294967296) (= (* main_~p~0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) main_~d~0)))) (and (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= (mod (div (+ main_~d~0 (* (- 1) (* (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0))) 4294967296) main_~p~0) 0) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0)))) (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0))) 4294967296) (not (= main_~q~0 0)) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (= (mod (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) 0))) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} assume !(1 != ~p~0); {10498#(and (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0))) 4294967296) (= (mod (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) 0) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= main_~q~0 1) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0)))))} is VALID [2022-04-28 06:17:17,202 INFO L272 TraceCheckUtils]: 75: Hoare triple {10498#(and (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0))) 4294967296) (= (mod (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) 0) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= main_~q~0 1) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10502#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:17:17,203 INFO L290 TraceCheckUtils]: 76: Hoare triple {10502#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10506#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:17,216 INFO L290 TraceCheckUtils]: 77: Hoare triple {10506#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10266#false} is VALID [2022-04-28 06:17:17,216 INFO L290 TraceCheckUtils]: 78: Hoare triple {10266#false} assume !false; {10266#false} is VALID [2022-04-28 06:17:17,217 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 66 proven. 7 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2022-04-28 06:17:17,217 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:18:08,751 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:18:14,776 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:18:31,446 INFO L290 TraceCheckUtils]: 78: Hoare triple {10266#false} assume !false; {10266#false} is VALID [2022-04-28 06:18:31,447 INFO L290 TraceCheckUtils]: 77: Hoare triple {10506#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10266#false} is VALID [2022-04-28 06:18:31,447 INFO L290 TraceCheckUtils]: 76: Hoare triple {10502#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10506#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:18:31,447 INFO L272 TraceCheckUtils]: 75: Hoare triple {10522#(= (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)); {10502#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:18:31,448 INFO L290 TraceCheckUtils]: 74: Hoare triple {10526#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {10522#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 06:18:31,448 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} {10530#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} #90#return; {10526#(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:18:31,449 INFO L290 TraceCheckUtils]: 72: Hoare triple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:18:31,449 INFO L290 TraceCheckUtils]: 71: Hoare triple {10540#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:18:31,449 INFO L290 TraceCheckUtils]: 70: Hoare triple {10265#true} ~cond := #in~cond; {10540#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:18:31,449 INFO L272 TraceCheckUtils]: 69: Hoare triple {10530#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:18:31,452 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} {10265#true} #88#return; {10530#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} is VALID [2022-04-28 06:18:31,452 INFO L290 TraceCheckUtils]: 67: Hoare triple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:18:31,452 INFO L290 TraceCheckUtils]: 66: Hoare triple {10540#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:18:31,452 INFO L290 TraceCheckUtils]: 65: Hoare triple {10265#true} ~cond := #in~cond; {10540#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:18:31,453 INFO L272 TraceCheckUtils]: 64: Hoare triple {10265#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L290 TraceCheckUtils]: 63: Hoare triple {10265#true} assume !!(#t~post7 < 100);havoc #t~post7; {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L290 TraceCheckUtils]: 62: Hoare triple {10265#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L290 TraceCheckUtils]: 61: Hoare triple {10265#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L290 TraceCheckUtils]: 60: Hoare triple {10265#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10265#true} {10265#true} #90#return; {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L290 TraceCheckUtils]: 58: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L290 TraceCheckUtils]: 57: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L290 TraceCheckUtils]: 56: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L272 TraceCheckUtils]: 55: Hoare triple {10265#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10265#true} {10265#true} #88#return; {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L290 TraceCheckUtils]: 53: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L290 TraceCheckUtils]: 52: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L290 TraceCheckUtils]: 51: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L272 TraceCheckUtils]: 50: Hoare triple {10265#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L290 TraceCheckUtils]: 49: Hoare triple {10265#true} assume !!(#t~post7 < 100);havoc #t~post7; {10265#true} is VALID [2022-04-28 06:18:31,453 INFO L290 TraceCheckUtils]: 48: Hoare triple {10265#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L290 TraceCheckUtils]: 47: Hoare triple {10265#true} assume !(~r~0 >= ~d~0); {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10265#true} {10265#true} #86#return; {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L290 TraceCheckUtils]: 45: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L290 TraceCheckUtils]: 44: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L290 TraceCheckUtils]: 43: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L272 TraceCheckUtils]: 42: Hoare triple {10265#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10265#true} {10265#true} #84#return; {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L290 TraceCheckUtils]: 40: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L290 TraceCheckUtils]: 39: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L290 TraceCheckUtils]: 38: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L272 TraceCheckUtils]: 37: Hoare triple {10265#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10265#true} {10265#true} #82#return; {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L290 TraceCheckUtils]: 35: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L290 TraceCheckUtils]: 34: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L290 TraceCheckUtils]: 33: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L272 TraceCheckUtils]: 32: Hoare triple {10265#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L290 TraceCheckUtils]: 31: Hoare triple {10265#true} assume !!(#t~post6 < 100);havoc #t~post6; {10265#true} is VALID [2022-04-28 06:18:31,454 INFO L290 TraceCheckUtils]: 30: Hoare triple {10265#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L290 TraceCheckUtils]: 29: Hoare triple {10265#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10265#true} {10265#true} #86#return; {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L290 TraceCheckUtils]: 27: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L290 TraceCheckUtils]: 26: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L272 TraceCheckUtils]: 24: Hoare triple {10265#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10265#true} {10265#true} #84#return; {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L290 TraceCheckUtils]: 22: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L290 TraceCheckUtils]: 21: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L290 TraceCheckUtils]: 20: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L272 TraceCheckUtils]: 19: Hoare triple {10265#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10265#true} {10265#true} #82#return; {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L290 TraceCheckUtils]: 17: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L290 TraceCheckUtils]: 16: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L290 TraceCheckUtils]: 15: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L272 TraceCheckUtils]: 14: Hoare triple {10265#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L290 TraceCheckUtils]: 13: Hoare triple {10265#true} assume !!(#t~post6 < 100);havoc #t~post6; {10265#true} is VALID [2022-04-28 06:18:31,455 INFO L290 TraceCheckUtils]: 12: Hoare triple {10265#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L290 TraceCheckUtils]: 11: Hoare triple {10265#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10265#true} {10265#true} #80#return; {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L290 TraceCheckUtils]: 9: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L290 TraceCheckUtils]: 8: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L290 TraceCheckUtils]: 7: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L272 TraceCheckUtils]: 6: Hoare triple {10265#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {10265#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;~B~0 := #t~nondet5;havoc #t~nondet5; {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L272 TraceCheckUtils]: 4: Hoare triple {10265#true} call #t~ret8 := main(); {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10265#true} {10265#true} #96#return; {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {10265#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);~counter~0 := 0; {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L272 TraceCheckUtils]: 0: Hoare triple {10265#true} call ULTIMATE.init(); {10265#true} is VALID [2022-04-28 06:18:31,456 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 141 trivial. 0 not checked. [2022-04-28 06:18:31,456 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:18:31,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1969706040] [2022-04-28 06:18:31,457 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:18:31,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [48011845] [2022-04-28 06:18:31,457 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [48011845] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:18:31,457 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:18:31,457 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-28 06:18:31,457 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:18:31,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2137518374] [2022-04-28 06:18:31,457 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2137518374] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:18:31,457 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:18:31,457 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 06:18:31,457 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1136216030] [2022-04-28 06:18:31,457 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:18:31,458 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 79 [2022-04-28 06:18:31,458 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:18:31,458 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:18:33,502 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 46 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:18:33,502 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 06:18:33,502 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:18:33,502 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 06:18:33,503 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-28 06:18:33,503 INFO L87 Difference]: Start difference. First operand 147 states and 169 transitions. Second operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:18:36,753 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:18:43,190 WARN L232 SmtUtils]: Spent 6.25s on a formula simplification. DAG size of input: 59 DAG size of output: 56 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 06:18:43,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:43,812 INFO L93 Difference]: Finished difference Result 164 states and 192 transitions. [2022-04-28 06:18:43,812 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 06:18:43,812 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 79 [2022-04-28 06:18:43,812 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:18:43,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:18:43,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-28 06:18:43,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:18:43,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-28 06:18:43,814 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions. [2022-04-28 06:18:45,897 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 75 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:18:45,899 INFO L225 Difference]: With dead ends: 164 [2022-04-28 06:18:45,900 INFO L226 Difference]: Without dead ends: 162 [2022-04-28 06:18:45,900 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 143 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 7.1s TimeCoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:18:45,900 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 17 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 206 mSolverCounterSat, 4 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 251 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 206 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 40 IncrementalHoareTripleChecker+Unchecked, 2.7s IncrementalHoareTripleChecker+Time [2022-04-28 06:18:45,900 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 203 Invalid, 251 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 206 Invalid, 1 Unknown, 40 Unchecked, 2.7s Time] [2022-04-28 06:18:45,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-28 06:18:46,058 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 158. [2022-04-28 06:18:46,058 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:18:46,058 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:18:46,059 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:18:46,059 INFO L87 Difference]: Start difference. First operand 162 states. Second operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:18:46,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:46,062 INFO L93 Difference]: Finished difference Result 162 states and 190 transitions. [2022-04-28 06:18:46,062 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 190 transitions. [2022-04-28 06:18:46,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:18:46,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:18:46,062 INFO L74 IsIncluded]: Start isIncluded. First operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 162 states. [2022-04-28 06:18:46,062 INFO L87 Difference]: Start difference. First operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 162 states. [2022-04-28 06:18:46,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:46,065 INFO L93 Difference]: Finished difference Result 162 states and 190 transitions. [2022-04-28 06:18:46,065 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 190 transitions. [2022-04-28 06:18:46,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:18:46,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:18:46,065 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:18:46,066 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:18:46,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:18:46,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 158 states to 158 states and 185 transitions. [2022-04-28 06:18:46,068 INFO L78 Accepts]: Start accepts. Automaton has 158 states and 185 transitions. Word has length 79 [2022-04-28 06:18:46,069 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:18:46,069 INFO L495 AbstractCegarLoop]: Abstraction has 158 states and 185 transitions. [2022-04-28 06:18:46,069 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:18:46,069 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 158 states and 185 transitions. [2022-04-28 06:18:48,291 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 185 edges. 184 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:18:48,292 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 185 transitions. [2022-04-28 06:18:48,292 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 06:18:48,292 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:18:48,292 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:18:48,309 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:18:48,493 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:18:48,493 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:18:48,493 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:18:48,493 INFO L85 PathProgramCache]: Analyzing trace with hash 816704307, now seen corresponding path program 5 times [2022-04-28 06:18:48,493 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:18:48,493 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1969912324] [2022-04-28 06:18:54,581 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:18:54,581 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:18:54,581 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:18:54,581 INFO L85 PathProgramCache]: Analyzing trace with hash 816704307, now seen corresponding path program 6 times [2022-04-28 06:18:54,581 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:18:54,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [906791836] [2022-04-28 06:18:54,581 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:18:54,581 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:18:54,589 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:18:54,590 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2136550850] [2022-04-28 06:18:54,590 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:18:54,590 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:18:54,590 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:18:54,591 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:18:54,591 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:18:54,635 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 06:18:54,635 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:18:54,636 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 06:18:54,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:18:54,649 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:18:54,904 INFO L272 TraceCheckUtils]: 0: Hoare triple {11727#true} call ULTIMATE.init(); {11727#true} is VALID [2022-04-28 06:18:54,905 INFO L290 TraceCheckUtils]: 1: Hoare triple {11727#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);~counter~0 := 0; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 06:18:54,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {11735#(<= ~counter~0 0)} assume true; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 06:18:54,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11735#(<= ~counter~0 0)} {11727#true} #96#return; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 06:18:54,905 INFO L272 TraceCheckUtils]: 4: Hoare triple {11735#(<= ~counter~0 0)} call #t~ret8 := main(); {11735#(<= ~counter~0 0)} is VALID [2022-04-28 06:18:54,906 INFO L290 TraceCheckUtils]: 5: Hoare triple {11735#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 06:18:54,906 INFO L272 TraceCheckUtils]: 6: Hoare triple {11735#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11735#(<= ~counter~0 0)} is VALID [2022-04-28 06:18:54,906 INFO L290 TraceCheckUtils]: 7: Hoare triple {11735#(<= ~counter~0 0)} ~cond := #in~cond; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 06:18:54,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {11735#(<= ~counter~0 0)} assume !(0 == ~cond); {11735#(<= ~counter~0 0)} is VALID [2022-04-28 06:18:54,907 INFO L290 TraceCheckUtils]: 9: Hoare triple {11735#(<= ~counter~0 0)} assume true; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 06:18:54,907 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11735#(<= ~counter~0 0)} {11735#(<= ~counter~0 0)} #80#return; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 06:18:54,907 INFO L290 TraceCheckUtils]: 11: Hoare triple {11735#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11735#(<= ~counter~0 0)} is VALID [2022-04-28 06:18:54,908 INFO L290 TraceCheckUtils]: 12: Hoare triple {11735#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,908 INFO L290 TraceCheckUtils]: 13: Hoare triple {11769#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,908 INFO L272 TraceCheckUtils]: 14: Hoare triple {11769#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,909 INFO L290 TraceCheckUtils]: 15: Hoare triple {11769#(<= ~counter~0 1)} ~cond := #in~cond; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,909 INFO L290 TraceCheckUtils]: 16: Hoare triple {11769#(<= ~counter~0 1)} assume !(0 == ~cond); {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,909 INFO L290 TraceCheckUtils]: 17: Hoare triple {11769#(<= ~counter~0 1)} assume true; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,910 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11769#(<= ~counter~0 1)} {11769#(<= ~counter~0 1)} #82#return; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,910 INFO L272 TraceCheckUtils]: 19: Hoare triple {11769#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,910 INFO L290 TraceCheckUtils]: 20: Hoare triple {11769#(<= ~counter~0 1)} ~cond := #in~cond; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,910 INFO L290 TraceCheckUtils]: 21: Hoare triple {11769#(<= ~counter~0 1)} assume !(0 == ~cond); {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,911 INFO L290 TraceCheckUtils]: 22: Hoare triple {11769#(<= ~counter~0 1)} assume true; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,911 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11769#(<= ~counter~0 1)} {11769#(<= ~counter~0 1)} #84#return; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,911 INFO L272 TraceCheckUtils]: 24: Hoare triple {11769#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,912 INFO L290 TraceCheckUtils]: 25: Hoare triple {11769#(<= ~counter~0 1)} ~cond := #in~cond; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,912 INFO L290 TraceCheckUtils]: 26: Hoare triple {11769#(<= ~counter~0 1)} assume !(0 == ~cond); {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,912 INFO L290 TraceCheckUtils]: 27: Hoare triple {11769#(<= ~counter~0 1)} assume true; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,913 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11769#(<= ~counter~0 1)} {11769#(<= ~counter~0 1)} #86#return; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,913 INFO L290 TraceCheckUtils]: 29: Hoare triple {11769#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11769#(<= ~counter~0 1)} is VALID [2022-04-28 06:18:54,913 INFO L290 TraceCheckUtils]: 30: Hoare triple {11769#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,914 INFO L290 TraceCheckUtils]: 31: Hoare triple {11824#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,914 INFO L272 TraceCheckUtils]: 32: Hoare triple {11824#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,914 INFO L290 TraceCheckUtils]: 33: Hoare triple {11824#(<= ~counter~0 2)} ~cond := #in~cond; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,914 INFO L290 TraceCheckUtils]: 34: Hoare triple {11824#(<= ~counter~0 2)} assume !(0 == ~cond); {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,915 INFO L290 TraceCheckUtils]: 35: Hoare triple {11824#(<= ~counter~0 2)} assume true; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,915 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11824#(<= ~counter~0 2)} {11824#(<= ~counter~0 2)} #82#return; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,915 INFO L272 TraceCheckUtils]: 37: Hoare triple {11824#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,916 INFO L290 TraceCheckUtils]: 38: Hoare triple {11824#(<= ~counter~0 2)} ~cond := #in~cond; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,916 INFO L290 TraceCheckUtils]: 39: Hoare triple {11824#(<= ~counter~0 2)} assume !(0 == ~cond); {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,916 INFO L290 TraceCheckUtils]: 40: Hoare triple {11824#(<= ~counter~0 2)} assume true; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,916 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11824#(<= ~counter~0 2)} {11824#(<= ~counter~0 2)} #84#return; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,917 INFO L272 TraceCheckUtils]: 42: Hoare triple {11824#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,917 INFO L290 TraceCheckUtils]: 43: Hoare triple {11824#(<= ~counter~0 2)} ~cond := #in~cond; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,917 INFO L290 TraceCheckUtils]: 44: Hoare triple {11824#(<= ~counter~0 2)} assume !(0 == ~cond); {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,918 INFO L290 TraceCheckUtils]: 45: Hoare triple {11824#(<= ~counter~0 2)} assume true; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,918 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11824#(<= ~counter~0 2)} {11824#(<= ~counter~0 2)} #86#return; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,918 INFO L290 TraceCheckUtils]: 47: Hoare triple {11824#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11824#(<= ~counter~0 2)} is VALID [2022-04-28 06:18:54,919 INFO L290 TraceCheckUtils]: 48: Hoare triple {11824#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,919 INFO L290 TraceCheckUtils]: 49: Hoare triple {11879#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,919 INFO L272 TraceCheckUtils]: 50: Hoare triple {11879#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,919 INFO L290 TraceCheckUtils]: 51: Hoare triple {11879#(<= ~counter~0 3)} ~cond := #in~cond; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,920 INFO L290 TraceCheckUtils]: 52: Hoare triple {11879#(<= ~counter~0 3)} assume !(0 == ~cond); {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,920 INFO L290 TraceCheckUtils]: 53: Hoare triple {11879#(<= ~counter~0 3)} assume true; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,920 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11879#(<= ~counter~0 3)} {11879#(<= ~counter~0 3)} #82#return; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,921 INFO L272 TraceCheckUtils]: 55: Hoare triple {11879#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,921 INFO L290 TraceCheckUtils]: 56: Hoare triple {11879#(<= ~counter~0 3)} ~cond := #in~cond; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,921 INFO L290 TraceCheckUtils]: 57: Hoare triple {11879#(<= ~counter~0 3)} assume !(0 == ~cond); {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,921 INFO L290 TraceCheckUtils]: 58: Hoare triple {11879#(<= ~counter~0 3)} assume true; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,922 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11879#(<= ~counter~0 3)} {11879#(<= ~counter~0 3)} #84#return; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,922 INFO L272 TraceCheckUtils]: 60: Hoare triple {11879#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,922 INFO L290 TraceCheckUtils]: 61: Hoare triple {11879#(<= ~counter~0 3)} ~cond := #in~cond; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,923 INFO L290 TraceCheckUtils]: 62: Hoare triple {11879#(<= ~counter~0 3)} assume !(0 == ~cond); {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,923 INFO L290 TraceCheckUtils]: 63: Hoare triple {11879#(<= ~counter~0 3)} assume true; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,923 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11879#(<= ~counter~0 3)} {11879#(<= ~counter~0 3)} #86#return; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,924 INFO L290 TraceCheckUtils]: 65: Hoare triple {11879#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11879#(<= ~counter~0 3)} is VALID [2022-04-28 06:18:54,924 INFO L290 TraceCheckUtils]: 66: Hoare triple {11879#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11934#(<= |main_#t~post6| 3)} is VALID [2022-04-28 06:18:54,924 INFO L290 TraceCheckUtils]: 67: Hoare triple {11934#(<= |main_#t~post6| 3)} assume !(#t~post6 < 100);havoc #t~post6; {11728#false} is VALID [2022-04-28 06:18:54,924 INFO L290 TraceCheckUtils]: 68: Hoare triple {11728#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11728#false} is VALID [2022-04-28 06:18:54,924 INFO L290 TraceCheckUtils]: 69: Hoare triple {11728#false} assume !(#t~post7 < 100);havoc #t~post7; {11728#false} is VALID [2022-04-28 06:18:54,924 INFO L272 TraceCheckUtils]: 70: Hoare triple {11728#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11728#false} is VALID [2022-04-28 06:18:54,924 INFO L290 TraceCheckUtils]: 71: Hoare triple {11728#false} ~cond := #in~cond; {11728#false} is VALID [2022-04-28 06:18:54,924 INFO L290 TraceCheckUtils]: 72: Hoare triple {11728#false} assume !(0 == ~cond); {11728#false} is VALID [2022-04-28 06:18:54,925 INFO L290 TraceCheckUtils]: 73: Hoare triple {11728#false} assume true; {11728#false} is VALID [2022-04-28 06:18:54,925 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11728#false} {11728#false} #92#return; {11728#false} is VALID [2022-04-28 06:18:54,925 INFO L272 TraceCheckUtils]: 75: Hoare triple {11728#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11728#false} is VALID [2022-04-28 06:18:54,925 INFO L290 TraceCheckUtils]: 76: Hoare triple {11728#false} ~cond := #in~cond; {11728#false} is VALID [2022-04-28 06:18:54,925 INFO L290 TraceCheckUtils]: 77: Hoare triple {11728#false} assume 0 == ~cond; {11728#false} is VALID [2022-04-28 06:18:54,925 INFO L290 TraceCheckUtils]: 78: Hoare triple {11728#false} assume !false; {11728#false} is VALID [2022-04-28 06:18:54,925 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 54 proven. 132 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 06:18:54,925 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:18:55,199 INFO L290 TraceCheckUtils]: 78: Hoare triple {11728#false} assume !false; {11728#false} is VALID [2022-04-28 06:18:55,200 INFO L290 TraceCheckUtils]: 77: Hoare triple {11728#false} assume 0 == ~cond; {11728#false} is VALID [2022-04-28 06:18:55,200 INFO L290 TraceCheckUtils]: 76: Hoare triple {11728#false} ~cond := #in~cond; {11728#false} is VALID [2022-04-28 06:18:55,200 INFO L272 TraceCheckUtils]: 75: Hoare triple {11728#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11728#false} is VALID [2022-04-28 06:18:55,200 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11727#true} {11728#false} #92#return; {11728#false} is VALID [2022-04-28 06:18:55,200 INFO L290 TraceCheckUtils]: 73: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 06:18:55,200 INFO L290 TraceCheckUtils]: 72: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 06:18:55,200 INFO L290 TraceCheckUtils]: 71: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 06:18:55,200 INFO L272 TraceCheckUtils]: 70: Hoare triple {11728#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 06:18:55,200 INFO L290 TraceCheckUtils]: 69: Hoare triple {11728#false} assume !(#t~post7 < 100);havoc #t~post7; {11728#false} is VALID [2022-04-28 06:18:55,200 INFO L290 TraceCheckUtils]: 68: Hoare triple {11728#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11728#false} is VALID [2022-04-28 06:18:55,200 INFO L290 TraceCheckUtils]: 67: Hoare triple {12004#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {11728#false} is VALID [2022-04-28 06:18:55,201 INFO L290 TraceCheckUtils]: 66: Hoare triple {12008#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12004#(< |main_#t~post6| 100)} is VALID [2022-04-28 06:18:55,201 INFO L290 TraceCheckUtils]: 65: Hoare triple {12008#(< ~counter~0 100)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12008#(< ~counter~0 100)} is VALID [2022-04-28 06:18:55,201 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11727#true} {12008#(< ~counter~0 100)} #86#return; {12008#(< ~counter~0 100)} is VALID [2022-04-28 06:18:55,202 INFO L290 TraceCheckUtils]: 63: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 06:18:55,202 INFO L290 TraceCheckUtils]: 62: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 06:18:55,202 INFO L290 TraceCheckUtils]: 61: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 06:18:55,202 INFO L272 TraceCheckUtils]: 60: Hoare triple {12008#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 06:18:55,202 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11727#true} {12008#(< ~counter~0 100)} #84#return; {12008#(< ~counter~0 100)} is VALID [2022-04-28 06:18:55,202 INFO L290 TraceCheckUtils]: 58: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 06:18:55,202 INFO L290 TraceCheckUtils]: 57: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 06:18:55,202 INFO L290 TraceCheckUtils]: 56: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 06:18:55,202 INFO L272 TraceCheckUtils]: 55: Hoare triple {12008#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11727#true} is VALID [2022-04-28 06:18:55,203 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11727#true} {12008#(< ~counter~0 100)} #82#return; {12008#(< ~counter~0 100)} is VALID [2022-04-28 06:18:55,203 INFO L290 TraceCheckUtils]: 53: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 06:18:55,203 INFO L290 TraceCheckUtils]: 52: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 06:18:55,203 INFO L290 TraceCheckUtils]: 51: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 06:18:55,203 INFO L272 TraceCheckUtils]: 50: Hoare triple {12008#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 06:18:55,205 INFO L290 TraceCheckUtils]: 49: Hoare triple {12008#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {12008#(< ~counter~0 100)} is VALID [2022-04-28 06:18:55,206 INFO L290 TraceCheckUtils]: 48: Hoare triple {12063#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12008#(< ~counter~0 100)} is VALID [2022-04-28 06:18:55,206 INFO L290 TraceCheckUtils]: 47: Hoare triple {12063#(< ~counter~0 99)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12063#(< ~counter~0 99)} is VALID [2022-04-28 06:18:55,207 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11727#true} {12063#(< ~counter~0 99)} #86#return; {12063#(< ~counter~0 99)} is VALID [2022-04-28 06:18:55,207 INFO L290 TraceCheckUtils]: 45: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 06:18:55,207 INFO L290 TraceCheckUtils]: 44: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 06:18:55,207 INFO L290 TraceCheckUtils]: 43: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 06:18:55,207 INFO L272 TraceCheckUtils]: 42: Hoare triple {12063#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 06:18:55,223 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11727#true} {12063#(< ~counter~0 99)} #84#return; {12063#(< ~counter~0 99)} is VALID [2022-04-28 06:18:55,224 INFO L290 TraceCheckUtils]: 40: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 06:18:55,224 INFO L290 TraceCheckUtils]: 39: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 06:18:55,224 INFO L290 TraceCheckUtils]: 38: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 06:18:55,224 INFO L272 TraceCheckUtils]: 37: Hoare triple {12063#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11727#true} is VALID [2022-04-28 06:18:55,224 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11727#true} {12063#(< ~counter~0 99)} #82#return; {12063#(< ~counter~0 99)} is VALID [2022-04-28 06:18:55,224 INFO L290 TraceCheckUtils]: 35: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 06:18:55,224 INFO L290 TraceCheckUtils]: 34: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 06:18:55,224 INFO L290 TraceCheckUtils]: 33: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 06:18:55,225 INFO L272 TraceCheckUtils]: 32: Hoare triple {12063#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 06:18:55,225 INFO L290 TraceCheckUtils]: 31: Hoare triple {12063#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {12063#(< ~counter~0 99)} is VALID [2022-04-28 06:18:55,226 INFO L290 TraceCheckUtils]: 30: Hoare triple {12118#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12063#(< ~counter~0 99)} is VALID [2022-04-28 06:18:55,226 INFO L290 TraceCheckUtils]: 29: Hoare triple {12118#(< ~counter~0 98)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12118#(< ~counter~0 98)} is VALID [2022-04-28 06:18:55,227 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11727#true} {12118#(< ~counter~0 98)} #86#return; {12118#(< ~counter~0 98)} is VALID [2022-04-28 06:18:55,227 INFO L290 TraceCheckUtils]: 27: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 06:18:55,227 INFO L290 TraceCheckUtils]: 26: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 06:18:55,227 INFO L290 TraceCheckUtils]: 25: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 06:18:55,227 INFO L272 TraceCheckUtils]: 24: Hoare triple {12118#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 06:18:55,227 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11727#true} {12118#(< ~counter~0 98)} #84#return; {12118#(< ~counter~0 98)} is VALID [2022-04-28 06:18:55,228 INFO L290 TraceCheckUtils]: 22: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 06:18:55,228 INFO L290 TraceCheckUtils]: 21: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 06:18:55,228 INFO L290 TraceCheckUtils]: 20: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 06:18:55,228 INFO L272 TraceCheckUtils]: 19: Hoare triple {12118#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11727#true} is VALID [2022-04-28 06:18:55,228 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11727#true} {12118#(< ~counter~0 98)} #82#return; {12118#(< ~counter~0 98)} is VALID [2022-04-28 06:18:55,228 INFO L290 TraceCheckUtils]: 17: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 06:18:55,228 INFO L290 TraceCheckUtils]: 16: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 06:18:55,228 INFO L290 TraceCheckUtils]: 15: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 06:18:55,228 INFO L272 TraceCheckUtils]: 14: Hoare triple {12118#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-28 06:18:55,229 INFO L290 TraceCheckUtils]: 13: Hoare triple {12118#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {12118#(< ~counter~0 98)} is VALID [2022-04-28 06:18:55,229 INFO L290 TraceCheckUtils]: 12: Hoare triple {12173#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12118#(< ~counter~0 98)} is VALID [2022-04-28 06:18:55,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {12173#(< ~counter~0 97)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12173#(< ~counter~0 97)} is VALID [2022-04-28 06:18:55,230 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11727#true} {12173#(< ~counter~0 97)} #80#return; {12173#(< ~counter~0 97)} is VALID [2022-04-28 06:18:55,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-28 06:18:55,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-28 06:18:55,230 INFO L290 TraceCheckUtils]: 7: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-28 06:18:55,231 INFO L272 TraceCheckUtils]: 6: Hoare triple {12173#(< ~counter~0 97)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11727#true} is VALID [2022-04-28 06:18:55,231 INFO L290 TraceCheckUtils]: 5: Hoare triple {12173#(< ~counter~0 97)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {12173#(< ~counter~0 97)} is VALID [2022-04-28 06:18:55,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {12173#(< ~counter~0 97)} call #t~ret8 := main(); {12173#(< ~counter~0 97)} is VALID [2022-04-28 06:18:55,232 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12173#(< ~counter~0 97)} {11727#true} #96#return; {12173#(< ~counter~0 97)} is VALID [2022-04-28 06:18:55,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {12173#(< ~counter~0 97)} assume true; {12173#(< ~counter~0 97)} is VALID [2022-04-28 06:18:55,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {11727#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);~counter~0 := 0; {12173#(< ~counter~0 97)} is VALID [2022-04-28 06:18:55,233 INFO L272 TraceCheckUtils]: 0: Hoare triple {11727#true} call ULTIMATE.init(); {11727#true} is VALID [2022-04-28 06:18:55,233 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 20 proven. 24 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-28 06:18:55,233 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:18:55,233 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [906791836] [2022-04-28 06:18:55,233 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:18:55,233 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2136550850] [2022-04-28 06:18:55,233 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2136550850] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:18:55,233 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:18:55,233 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 06:18:55,234 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:18:55,234 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1969912324] [2022-04-28 06:18:55,234 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1969912324] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:18:55,234 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:18:55,234 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 06:18:55,234 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [324970710] [2022-04-28 06:18:55,234 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:18:55,234 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 79 [2022-04-28 06:18:55,234 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:18:55,234 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:18:55,280 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:18:55,280 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 06:18:55,280 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:18:55,280 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 06:18:55,280 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:18:55,281 INFO L87 Difference]: Start difference. First operand 158 states and 185 transitions. Second operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:18:55,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:55,763 INFO L93 Difference]: Finished difference Result 203 states and 247 transitions. [2022-04-28 06:18:55,763 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 06:18:55,763 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 79 [2022-04-28 06:18:55,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:18:55,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:18:55,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 111 transitions. [2022-04-28 06:18:55,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:18:55,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 111 transitions. [2022-04-28 06:18:55,765 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 111 transitions. [2022-04-28 06:18:55,848 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:18:55,851 INFO L225 Difference]: With dead ends: 203 [2022-04-28 06:18:55,851 INFO L226 Difference]: Without dead ends: 160 [2022-04-28 06:18:55,851 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 147 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 06:18:55,852 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 15 mSDsluCounter, 146 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:18:55,852 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 196 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:18:55,852 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-28 06:18:56,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 160. [2022-04-28 06:18:56,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:18:56,008 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:18:56,008 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:18:56,009 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:18:56,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:56,011 INFO L93 Difference]: Finished difference Result 160 states and 187 transitions. [2022-04-28 06:18:56,011 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 187 transitions. [2022-04-28 06:18:56,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:18:56,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:18:56,012 INFO L74 IsIncluded]: Start isIncluded. First operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 160 states. [2022-04-28 06:18:56,012 INFO L87 Difference]: Start difference. First operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 160 states. [2022-04-28 06:18:56,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:56,014 INFO L93 Difference]: Finished difference Result 160 states and 187 transitions. [2022-04-28 06:18:56,014 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 187 transitions. [2022-04-28 06:18:56,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:18:56,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:18:56,015 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:18:56,015 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:18:56,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:18:56,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 160 states to 160 states and 187 transitions. [2022-04-28 06:18:56,017 INFO L78 Accepts]: Start accepts. Automaton has 160 states and 187 transitions. Word has length 79 [2022-04-28 06:18:56,017 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:18:56,018 INFO L495 AbstractCegarLoop]: Abstraction has 160 states and 187 transitions. [2022-04-28 06:18:56,018 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:18:56,018 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 160 states and 187 transitions. [2022-04-28 06:18:58,260 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 187 edges. 186 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:18:58,260 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 187 transitions. [2022-04-28 06:18:58,270 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-28 06:18:58,270 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:18:58,270 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 2, 2, 2, 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] [2022-04-28 06:18:58,288 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:18:58,472 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:18:58,474 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:18:58,475 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:18:58,475 INFO L85 PathProgramCache]: Analyzing trace with hash 435352067, now seen corresponding path program 3 times [2022-04-28 06:18:58,475 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:18:58,475 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [377462301] [2022-04-28 06:19:06,430 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:19:06,430 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:19:06,430 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:19:06,430 INFO L85 PathProgramCache]: Analyzing trace with hash 435352067, now seen corresponding path program 4 times [2022-04-28 06:19:06,430 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:19:06,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [480324460] [2022-04-28 06:19:06,430 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:19:06,430 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:19:06,440 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:19:06,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2028893116] [2022-04-28 06:19:06,440 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:19:06,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:19:06,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:19:06,441 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:19:06,442 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:19:06,485 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:19:06,486 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:19:06,486 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 06:19:06,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:19:06,502 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:19:06,814 INFO L272 TraceCheckUtils]: 0: Hoare triple {13264#true} call ULTIMATE.init(); {13264#true} is VALID [2022-04-28 06:19:06,814 INFO L290 TraceCheckUtils]: 1: Hoare triple {13264#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);~counter~0 := 0; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 06:19:06,815 INFO L290 TraceCheckUtils]: 2: Hoare triple {13272#(<= ~counter~0 0)} assume true; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 06:19:06,815 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13272#(<= ~counter~0 0)} {13264#true} #96#return; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 06:19:06,815 INFO L272 TraceCheckUtils]: 4: Hoare triple {13272#(<= ~counter~0 0)} call #t~ret8 := main(); {13272#(<= ~counter~0 0)} is VALID [2022-04-28 06:19:06,815 INFO L290 TraceCheckUtils]: 5: Hoare triple {13272#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 06:19:06,816 INFO L272 TraceCheckUtils]: 6: Hoare triple {13272#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {13272#(<= ~counter~0 0)} is VALID [2022-04-28 06:19:06,816 INFO L290 TraceCheckUtils]: 7: Hoare triple {13272#(<= ~counter~0 0)} ~cond := #in~cond; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 06:19:06,816 INFO L290 TraceCheckUtils]: 8: Hoare triple {13272#(<= ~counter~0 0)} assume !(0 == ~cond); {13272#(<= ~counter~0 0)} is VALID [2022-04-28 06:19:06,816 INFO L290 TraceCheckUtils]: 9: Hoare triple {13272#(<= ~counter~0 0)} assume true; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 06:19:06,817 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13272#(<= ~counter~0 0)} {13272#(<= ~counter~0 0)} #80#return; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 06:19:06,817 INFO L290 TraceCheckUtils]: 11: Hoare triple {13272#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {13272#(<= ~counter~0 0)} is VALID [2022-04-28 06:19:06,818 INFO L290 TraceCheckUtils]: 12: Hoare triple {13272#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,818 INFO L290 TraceCheckUtils]: 13: Hoare triple {13306#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,818 INFO L272 TraceCheckUtils]: 14: Hoare triple {13306#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,818 INFO L290 TraceCheckUtils]: 15: Hoare triple {13306#(<= ~counter~0 1)} ~cond := #in~cond; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,819 INFO L290 TraceCheckUtils]: 16: Hoare triple {13306#(<= ~counter~0 1)} assume !(0 == ~cond); {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,819 INFO L290 TraceCheckUtils]: 17: Hoare triple {13306#(<= ~counter~0 1)} assume true; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,819 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13306#(<= ~counter~0 1)} {13306#(<= ~counter~0 1)} #82#return; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,819 INFO L272 TraceCheckUtils]: 19: Hoare triple {13306#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {13306#(<= ~counter~0 1)} ~cond := #in~cond; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,820 INFO L290 TraceCheckUtils]: 21: Hoare triple {13306#(<= ~counter~0 1)} assume !(0 == ~cond); {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,820 INFO L290 TraceCheckUtils]: 22: Hoare triple {13306#(<= ~counter~0 1)} assume true; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,820 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13306#(<= ~counter~0 1)} {13306#(<= ~counter~0 1)} #84#return; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,821 INFO L272 TraceCheckUtils]: 24: Hoare triple {13306#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,821 INFO L290 TraceCheckUtils]: 25: Hoare triple {13306#(<= ~counter~0 1)} ~cond := #in~cond; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,821 INFO L290 TraceCheckUtils]: 26: Hoare triple {13306#(<= ~counter~0 1)} assume !(0 == ~cond); {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,821 INFO L290 TraceCheckUtils]: 27: Hoare triple {13306#(<= ~counter~0 1)} assume true; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,822 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13306#(<= ~counter~0 1)} {13306#(<= ~counter~0 1)} #86#return; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,822 INFO L290 TraceCheckUtils]: 29: Hoare triple {13306#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13306#(<= ~counter~0 1)} is VALID [2022-04-28 06:19:06,823 INFO L290 TraceCheckUtils]: 30: Hoare triple {13306#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,823 INFO L290 TraceCheckUtils]: 31: Hoare triple {13361#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,823 INFO L272 TraceCheckUtils]: 32: Hoare triple {13361#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,823 INFO L290 TraceCheckUtils]: 33: Hoare triple {13361#(<= ~counter~0 2)} ~cond := #in~cond; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,823 INFO L290 TraceCheckUtils]: 34: Hoare triple {13361#(<= ~counter~0 2)} assume !(0 == ~cond); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,824 INFO L290 TraceCheckUtils]: 35: Hoare triple {13361#(<= ~counter~0 2)} assume true; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,824 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13361#(<= ~counter~0 2)} {13361#(<= ~counter~0 2)} #82#return; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,824 INFO L272 TraceCheckUtils]: 37: Hoare triple {13361#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,825 INFO L290 TraceCheckUtils]: 38: Hoare triple {13361#(<= ~counter~0 2)} ~cond := #in~cond; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,825 INFO L290 TraceCheckUtils]: 39: Hoare triple {13361#(<= ~counter~0 2)} assume !(0 == ~cond); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,825 INFO L290 TraceCheckUtils]: 40: Hoare triple {13361#(<= ~counter~0 2)} assume true; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,825 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13361#(<= ~counter~0 2)} {13361#(<= ~counter~0 2)} #84#return; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,826 INFO L272 TraceCheckUtils]: 42: Hoare triple {13361#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,826 INFO L290 TraceCheckUtils]: 43: Hoare triple {13361#(<= ~counter~0 2)} ~cond := #in~cond; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,826 INFO L290 TraceCheckUtils]: 44: Hoare triple {13361#(<= ~counter~0 2)} assume !(0 == ~cond); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,826 INFO L290 TraceCheckUtils]: 45: Hoare triple {13361#(<= ~counter~0 2)} assume true; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,827 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13361#(<= ~counter~0 2)} {13361#(<= ~counter~0 2)} #86#return; {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,827 INFO L290 TraceCheckUtils]: 47: Hoare triple {13361#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {13361#(<= ~counter~0 2)} is VALID [2022-04-28 06:19:06,827 INFO L290 TraceCheckUtils]: 48: Hoare triple {13361#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,828 INFO L290 TraceCheckUtils]: 49: Hoare triple {13416#(<= ~counter~0 3)} assume !!(#t~post7 < 100);havoc #t~post7; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,828 INFO L272 TraceCheckUtils]: 50: Hoare triple {13416#(<= ~counter~0 3)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,828 INFO L290 TraceCheckUtils]: 51: Hoare triple {13416#(<= ~counter~0 3)} ~cond := #in~cond; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,829 INFO L290 TraceCheckUtils]: 52: Hoare triple {13416#(<= ~counter~0 3)} assume !(0 == ~cond); {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,829 INFO L290 TraceCheckUtils]: 53: Hoare triple {13416#(<= ~counter~0 3)} assume true; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,829 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13416#(<= ~counter~0 3)} {13416#(<= ~counter~0 3)} #88#return; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,830 INFO L272 TraceCheckUtils]: 55: Hoare triple {13416#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,830 INFO L290 TraceCheckUtils]: 56: Hoare triple {13416#(<= ~counter~0 3)} ~cond := #in~cond; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,830 INFO L290 TraceCheckUtils]: 57: Hoare triple {13416#(<= ~counter~0 3)} assume !(0 == ~cond); {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,831 INFO L290 TraceCheckUtils]: 58: Hoare triple {13416#(<= ~counter~0 3)} assume true; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,831 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13416#(<= ~counter~0 3)} {13416#(<= ~counter~0 3)} #90#return; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,841 INFO L290 TraceCheckUtils]: 60: Hoare triple {13416#(<= ~counter~0 3)} 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); {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,841 INFO L290 TraceCheckUtils]: 61: Hoare triple {13416#(<= ~counter~0 3)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13416#(<= ~counter~0 3)} is VALID [2022-04-28 06:19:06,842 INFO L290 TraceCheckUtils]: 62: Hoare triple {13416#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,842 INFO L290 TraceCheckUtils]: 63: Hoare triple {13459#(<= ~counter~0 4)} assume !!(#t~post7 < 100);havoc #t~post7; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,843 INFO L272 TraceCheckUtils]: 64: Hoare triple {13459#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,843 INFO L290 TraceCheckUtils]: 65: Hoare triple {13459#(<= ~counter~0 4)} ~cond := #in~cond; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,843 INFO L290 TraceCheckUtils]: 66: Hoare triple {13459#(<= ~counter~0 4)} assume !(0 == ~cond); {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,843 INFO L290 TraceCheckUtils]: 67: Hoare triple {13459#(<= ~counter~0 4)} assume true; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,844 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13459#(<= ~counter~0 4)} {13459#(<= ~counter~0 4)} #88#return; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,844 INFO L272 TraceCheckUtils]: 69: Hoare triple {13459#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,844 INFO L290 TraceCheckUtils]: 70: Hoare triple {13459#(<= ~counter~0 4)} ~cond := #in~cond; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,845 INFO L290 TraceCheckUtils]: 71: Hoare triple {13459#(<= ~counter~0 4)} assume !(0 == ~cond); {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,845 INFO L290 TraceCheckUtils]: 72: Hoare triple {13459#(<= ~counter~0 4)} assume true; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,845 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13459#(<= ~counter~0 4)} {13459#(<= ~counter~0 4)} #90#return; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,845 INFO L290 TraceCheckUtils]: 74: Hoare triple {13459#(<= ~counter~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); {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,846 INFO L290 TraceCheckUtils]: 75: Hoare triple {13459#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13459#(<= ~counter~0 4)} is VALID [2022-04-28 06:19:06,846 INFO L290 TraceCheckUtils]: 76: Hoare triple {13459#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13502#(<= |main_#t~post7| 4)} is VALID [2022-04-28 06:19:06,846 INFO L290 TraceCheckUtils]: 77: Hoare triple {13502#(<= |main_#t~post7| 4)} assume !(#t~post7 < 100);havoc #t~post7; {13265#false} is VALID [2022-04-28 06:19:06,846 INFO L272 TraceCheckUtils]: 78: Hoare triple {13265#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13265#false} is VALID [2022-04-28 06:19:06,846 INFO L290 TraceCheckUtils]: 79: Hoare triple {13265#false} ~cond := #in~cond; {13265#false} is VALID [2022-04-28 06:19:06,846 INFO L290 TraceCheckUtils]: 80: Hoare triple {13265#false} assume 0 == ~cond; {13265#false} is VALID [2022-04-28 06:19:06,846 INFO L290 TraceCheckUtils]: 81: Hoare triple {13265#false} assume !false; {13265#false} is VALID [2022-04-28 06:19:06,847 INFO L134 CoverageAnalysis]: Checked inductivity of 216 backedges. 20 proven. 164 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-28 06:19:06,847 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:19:07,156 INFO L290 TraceCheckUtils]: 81: Hoare triple {13265#false} assume !false; {13265#false} is VALID [2022-04-28 06:19:07,156 INFO L290 TraceCheckUtils]: 80: Hoare triple {13265#false} assume 0 == ~cond; {13265#false} is VALID [2022-04-28 06:19:07,156 INFO L290 TraceCheckUtils]: 79: Hoare triple {13265#false} ~cond := #in~cond; {13265#false} is VALID [2022-04-28 06:19:07,156 INFO L272 TraceCheckUtils]: 78: Hoare triple {13265#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13265#false} is VALID [2022-04-28 06:19:07,157 INFO L290 TraceCheckUtils]: 77: Hoare triple {13530#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {13265#false} is VALID [2022-04-28 06:19:07,157 INFO L290 TraceCheckUtils]: 76: Hoare triple {13534#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13530#(< |main_#t~post7| 100)} is VALID [2022-04-28 06:19:07,157 INFO L290 TraceCheckUtils]: 75: Hoare triple {13534#(< ~counter~0 100)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13534#(< ~counter~0 100)} is VALID [2022-04-28 06:19:07,158 INFO L290 TraceCheckUtils]: 74: Hoare triple {13534#(< ~counter~0 100)} 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); {13534#(< ~counter~0 100)} is VALID [2022-04-28 06:19:07,158 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13264#true} {13534#(< ~counter~0 100)} #90#return; {13534#(< ~counter~0 100)} is VALID [2022-04-28 06:19:07,158 INFO L290 TraceCheckUtils]: 72: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 06:19:07,158 INFO L290 TraceCheckUtils]: 71: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 06:19:07,158 INFO L290 TraceCheckUtils]: 70: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 06:19:07,158 INFO L272 TraceCheckUtils]: 69: Hoare triple {13534#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 06:19:07,159 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13264#true} {13534#(< ~counter~0 100)} #88#return; {13534#(< ~counter~0 100)} is VALID [2022-04-28 06:19:07,159 INFO L290 TraceCheckUtils]: 67: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 06:19:07,159 INFO L290 TraceCheckUtils]: 66: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 06:19:07,159 INFO L290 TraceCheckUtils]: 65: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 06:19:07,159 INFO L272 TraceCheckUtils]: 64: Hoare triple {13534#(< ~counter~0 100)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 06:19:07,159 INFO L290 TraceCheckUtils]: 63: Hoare triple {13534#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {13534#(< ~counter~0 100)} is VALID [2022-04-28 06:19:07,160 INFO L290 TraceCheckUtils]: 62: Hoare triple {13577#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13534#(< ~counter~0 100)} is VALID [2022-04-28 06:19:07,160 INFO L290 TraceCheckUtils]: 61: Hoare triple {13577#(< ~counter~0 99)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13577#(< ~counter~0 99)} is VALID [2022-04-28 06:19:07,160 INFO L290 TraceCheckUtils]: 60: Hoare triple {13577#(< ~counter~0 99)} 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); {13577#(< ~counter~0 99)} is VALID [2022-04-28 06:19:07,161 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13264#true} {13577#(< ~counter~0 99)} #90#return; {13577#(< ~counter~0 99)} is VALID [2022-04-28 06:19:07,161 INFO L290 TraceCheckUtils]: 58: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 06:19:07,161 INFO L290 TraceCheckUtils]: 57: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 06:19:07,161 INFO L290 TraceCheckUtils]: 56: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 06:19:07,161 INFO L272 TraceCheckUtils]: 55: Hoare triple {13577#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 06:19:07,161 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13264#true} {13577#(< ~counter~0 99)} #88#return; {13577#(< ~counter~0 99)} is VALID [2022-04-28 06:19:07,161 INFO L290 TraceCheckUtils]: 53: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 06:19:07,161 INFO L290 TraceCheckUtils]: 52: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 06:19:07,162 INFO L290 TraceCheckUtils]: 51: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 06:19:07,162 INFO L272 TraceCheckUtils]: 50: Hoare triple {13577#(< ~counter~0 99)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 06:19:07,162 INFO L290 TraceCheckUtils]: 49: Hoare triple {13577#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {13577#(< ~counter~0 99)} is VALID [2022-04-28 06:19:07,162 INFO L290 TraceCheckUtils]: 48: Hoare triple {13620#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13577#(< ~counter~0 99)} is VALID [2022-04-28 06:19:07,162 INFO L290 TraceCheckUtils]: 47: Hoare triple {13620#(< ~counter~0 98)} assume !(~r~0 >= ~d~0); {13620#(< ~counter~0 98)} is VALID [2022-04-28 06:19:07,163 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13264#true} {13620#(< ~counter~0 98)} #86#return; {13620#(< ~counter~0 98)} is VALID [2022-04-28 06:19:07,163 INFO L290 TraceCheckUtils]: 45: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 06:19:07,163 INFO L290 TraceCheckUtils]: 44: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 06:19:07,163 INFO L290 TraceCheckUtils]: 43: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 06:19:07,163 INFO L272 TraceCheckUtils]: 42: Hoare triple {13620#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 06:19:07,164 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13264#true} {13620#(< ~counter~0 98)} #84#return; {13620#(< ~counter~0 98)} is VALID [2022-04-28 06:19:07,164 INFO L290 TraceCheckUtils]: 40: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 06:19:07,164 INFO L290 TraceCheckUtils]: 39: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 06:19:07,164 INFO L290 TraceCheckUtils]: 38: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 06:19:07,164 INFO L272 TraceCheckUtils]: 37: Hoare triple {13620#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13264#true} is VALID [2022-04-28 06:19:07,164 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13264#true} {13620#(< ~counter~0 98)} #82#return; {13620#(< ~counter~0 98)} is VALID [2022-04-28 06:19:07,164 INFO L290 TraceCheckUtils]: 35: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 06:19:07,164 INFO L290 TraceCheckUtils]: 34: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 06:19:07,164 INFO L290 TraceCheckUtils]: 33: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 06:19:07,164 INFO L272 TraceCheckUtils]: 32: Hoare triple {13620#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 06:19:07,165 INFO L290 TraceCheckUtils]: 31: Hoare triple {13620#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {13620#(< ~counter~0 98)} is VALID [2022-04-28 06:19:07,165 INFO L290 TraceCheckUtils]: 30: Hoare triple {13675#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13620#(< ~counter~0 98)} is VALID [2022-04-28 06:19:07,165 INFO L290 TraceCheckUtils]: 29: Hoare triple {13675#(< ~counter~0 97)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13675#(< ~counter~0 97)} is VALID [2022-04-28 06:19:07,166 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13264#true} {13675#(< ~counter~0 97)} #86#return; {13675#(< ~counter~0 97)} is VALID [2022-04-28 06:19:07,166 INFO L290 TraceCheckUtils]: 27: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 06:19:07,166 INFO L290 TraceCheckUtils]: 26: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 06:19:07,166 INFO L290 TraceCheckUtils]: 25: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 06:19:07,166 INFO L272 TraceCheckUtils]: 24: Hoare triple {13675#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 06:19:07,166 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13264#true} {13675#(< ~counter~0 97)} #84#return; {13675#(< ~counter~0 97)} is VALID [2022-04-28 06:19:07,166 INFO L290 TraceCheckUtils]: 22: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 06:19:07,167 INFO L290 TraceCheckUtils]: 21: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 06:19:07,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 06:19:07,167 INFO L272 TraceCheckUtils]: 19: Hoare triple {13675#(< ~counter~0 97)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13264#true} is VALID [2022-04-28 06:19:07,167 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13264#true} {13675#(< ~counter~0 97)} #82#return; {13675#(< ~counter~0 97)} is VALID [2022-04-28 06:19:07,167 INFO L290 TraceCheckUtils]: 17: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 06:19:07,167 INFO L290 TraceCheckUtils]: 16: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 06:19:07,167 INFO L290 TraceCheckUtils]: 15: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 06:19:07,167 INFO L272 TraceCheckUtils]: 14: Hoare triple {13675#(< ~counter~0 97)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13264#true} is VALID [2022-04-28 06:19:07,167 INFO L290 TraceCheckUtils]: 13: Hoare triple {13675#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {13675#(< ~counter~0 97)} is VALID [2022-04-28 06:19:07,168 INFO L290 TraceCheckUtils]: 12: Hoare triple {13730#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13675#(< ~counter~0 97)} is VALID [2022-04-28 06:19:07,168 INFO L290 TraceCheckUtils]: 11: Hoare triple {13730#(< ~counter~0 96)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {13730#(< ~counter~0 96)} is VALID [2022-04-28 06:19:07,169 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13264#true} {13730#(< ~counter~0 96)} #80#return; {13730#(< ~counter~0 96)} is VALID [2022-04-28 06:19:07,169 INFO L290 TraceCheckUtils]: 9: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-28 06:19:07,169 INFO L290 TraceCheckUtils]: 8: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-28 06:19:07,169 INFO L290 TraceCheckUtils]: 7: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-28 06:19:07,169 INFO L272 TraceCheckUtils]: 6: Hoare triple {13730#(< ~counter~0 96)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {13264#true} is VALID [2022-04-28 06:19:07,169 INFO L290 TraceCheckUtils]: 5: Hoare triple {13730#(< ~counter~0 96)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {13730#(< ~counter~0 96)} is VALID [2022-04-28 06:19:07,169 INFO L272 TraceCheckUtils]: 4: Hoare triple {13730#(< ~counter~0 96)} call #t~ret8 := main(); {13730#(< ~counter~0 96)} is VALID [2022-04-28 06:19:07,170 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13730#(< ~counter~0 96)} {13264#true} #96#return; {13730#(< ~counter~0 96)} is VALID [2022-04-28 06:19:07,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {13730#(< ~counter~0 96)} assume true; {13730#(< ~counter~0 96)} is VALID [2022-04-28 06:19:07,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {13264#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);~counter~0 := 0; {13730#(< ~counter~0 96)} is VALID [2022-04-28 06:19:07,170 INFO L272 TraceCheckUtils]: 0: Hoare triple {13264#true} call ULTIMATE.init(); {13264#true} is VALID [2022-04-28 06:19:07,171 INFO L134 CoverageAnalysis]: Checked inductivity of 216 backedges. 20 proven. 16 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-28 06:19:07,171 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:19:07,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [480324460] [2022-04-28 06:19:07,171 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:19:07,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2028893116] [2022-04-28 06:19:07,171 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2028893116] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:19:07,171 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:19:07,171 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 06:19:07,171 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:19:07,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [377462301] [2022-04-28 06:19:07,171 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [377462301] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:19:07,171 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:19:07,171 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 06:19:07,171 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [345849751] [2022-04-28 06:19:07,171 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:19:07,172 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 82 [2022-04-28 06:19:07,172 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:19:07,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:19:07,224 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:19:07,224 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 06:19:07,225 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:19:07,225 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 06:19:07,225 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:19:07,225 INFO L87 Difference]: Start difference. First operand 160 states and 187 transitions. Second operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:19:07,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:19:07,902 INFO L93 Difference]: Finished difference Result 226 states and 262 transitions. [2022-04-28 06:19:07,902 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 06:19:07,903 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 82 [2022-04-28 06:19:07,903 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:19:07,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:19:07,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 128 transitions. [2022-04-28 06:19:07,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:19:07,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 128 transitions. [2022-04-28 06:19:07,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 128 transitions. [2022-04-28 06:19:08,020 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:19:08,023 INFO L225 Difference]: With dead ends: 226 [2022-04-28 06:19:08,023 INFO L226 Difference]: Without dead ends: 211 [2022-04-28 06:19:08,024 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 165 GetRequests, 151 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=93, Invalid=147, Unknown=0, NotChecked=0, Total=240 [2022-04-28 06:19:08,024 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 36 mSDsluCounter, 177 mSDsCounter, 0 mSdLazyCounter, 98 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 119 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 98 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:19:08,024 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 235 Invalid, 119 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 98 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:19:08,025 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 211 states. [2022-04-28 06:19:08,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 211 to 208. [2022-04-28 06:19:08,230 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:19:08,231 INFO L82 GeneralOperation]: Start isEquivalent. First operand 211 states. Second operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 06:19:08,231 INFO L74 IsIncluded]: Start isIncluded. First operand 211 states. Second operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 06:19:08,231 INFO L87 Difference]: Start difference. First operand 211 states. Second operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 06:19:08,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:19:08,235 INFO L93 Difference]: Finished difference Result 211 states and 242 transitions. [2022-04-28 06:19:08,235 INFO L276 IsEmpty]: Start isEmpty. Operand 211 states and 242 transitions. [2022-04-28 06:19:08,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:19:08,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:19:08,236 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 211 states. [2022-04-28 06:19:08,236 INFO L87 Difference]: Start difference. First operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 211 states. [2022-04-28 06:19:08,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:19:08,239 INFO L93 Difference]: Finished difference Result 211 states and 242 transitions. [2022-04-28 06:19:08,239 INFO L276 IsEmpty]: Start isEmpty. Operand 211 states and 242 transitions. [2022-04-28 06:19:08,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:19:08,239 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:19:08,239 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:19:08,240 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:19:08,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 06:19:08,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 240 transitions. [2022-04-28 06:19:08,243 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 240 transitions. Word has length 82 [2022-04-28 06:19:08,243 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:19:08,243 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 240 transitions. [2022-04-28 06:19:08,244 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:19:08,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 240 transitions. [2022-04-28 06:19:10,546 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 240 edges. 239 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:19:10,546 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 240 transitions. [2022-04-28 06:19:10,547 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-28 06:19:10,547 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:19:10,547 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 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] [2022-04-28 06:19:10,564 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 06:19:10,763 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:19:10,764 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:19:10,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:19:10,764 INFO L85 PathProgramCache]: Analyzing trace with hash 437079945, now seen corresponding path program 5 times [2022-04-28 06:19:10,764 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:19:10,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2108515009] [2022-04-28 06:19:17,677 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:19:17,678 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:19:17,678 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:19:17,678 INFO L85 PathProgramCache]: Analyzing trace with hash 437079945, now seen corresponding path program 6 times [2022-04-28 06:19:17,678 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:19:17,678 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1863471436] [2022-04-28 06:19:17,678 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:19:17,678 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:19:17,688 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:19:17,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [811416200] [2022-04-28 06:19:17,688 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:19:17,688 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:19:17,688 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:19:17,689 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:19:17,690 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 06:19:17,746 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 06:19:17,747 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:19:17,747 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:19:17,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:19:17,756 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:19:17,896 INFO L272 TraceCheckUtils]: 0: Hoare triple {15063#true} call ULTIMATE.init(); {15063#true} is VALID [2022-04-28 06:19:17,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {15063#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);~counter~0 := 0; {15063#true} is VALID [2022-04-28 06:19:17,897 INFO L290 TraceCheckUtils]: 2: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:17,897 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15063#true} {15063#true} #96#return; {15063#true} is VALID [2022-04-28 06:19:17,897 INFO L272 TraceCheckUtils]: 4: Hoare triple {15063#true} call #t~ret8 := main(); {15063#true} is VALID [2022-04-28 06:19:17,897 INFO L290 TraceCheckUtils]: 5: Hoare triple {15063#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;~B~0 := #t~nondet5;havoc #t~nondet5; {15063#true} is VALID [2022-04-28 06:19:17,897 INFO L272 TraceCheckUtils]: 6: Hoare triple {15063#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:17,897 INFO L290 TraceCheckUtils]: 7: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:17,897 INFO L290 TraceCheckUtils]: 8: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:17,897 INFO L290 TraceCheckUtils]: 9: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:17,897 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15063#true} {15063#true} #80#return; {15063#true} is VALID [2022-04-28 06:19:17,898 INFO L290 TraceCheckUtils]: 11: Hoare triple {15063#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:17,898 INFO L290 TraceCheckUtils]: 12: Hoare triple {15101#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:17,898 INFO L290 TraceCheckUtils]: 13: Hoare triple {15101#(= main_~p~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:17,898 INFO L272 TraceCheckUtils]: 14: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:17,898 INFO L290 TraceCheckUtils]: 15: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:17,898 INFO L290 TraceCheckUtils]: 16: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:17,898 INFO L290 TraceCheckUtils]: 17: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:17,899 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #82#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:17,899 INFO L272 TraceCheckUtils]: 19: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:17,899 INFO L290 TraceCheckUtils]: 20: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:17,899 INFO L290 TraceCheckUtils]: 21: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:17,899 INFO L290 TraceCheckUtils]: 22: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:17,899 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #84#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:17,899 INFO L272 TraceCheckUtils]: 24: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:17,899 INFO L290 TraceCheckUtils]: 25: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:17,899 INFO L290 TraceCheckUtils]: 26: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:17,900 INFO L290 TraceCheckUtils]: 27: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:17,900 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #86#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:17,900 INFO L290 TraceCheckUtils]: 29: Hoare triple {15101#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15156#(= main_~p~0 2)} is VALID [2022-04-28 06:19:17,901 INFO L290 TraceCheckUtils]: 30: Hoare triple {15156#(= main_~p~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15156#(= main_~p~0 2)} is VALID [2022-04-28 06:19:17,901 INFO L290 TraceCheckUtils]: 31: Hoare triple {15156#(= main_~p~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {15156#(= main_~p~0 2)} is VALID [2022-04-28 06:19:17,901 INFO L272 TraceCheckUtils]: 32: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:17,901 INFO L290 TraceCheckUtils]: 33: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:17,901 INFO L290 TraceCheckUtils]: 34: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:17,901 INFO L290 TraceCheckUtils]: 35: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:17,901 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #82#return; {15156#(= main_~p~0 2)} is VALID [2022-04-28 06:19:17,901 INFO L272 TraceCheckUtils]: 37: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:17,902 INFO L290 TraceCheckUtils]: 38: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:17,902 INFO L290 TraceCheckUtils]: 39: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:17,902 INFO L290 TraceCheckUtils]: 40: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:17,902 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #84#return; {15156#(= main_~p~0 2)} is VALID [2022-04-28 06:19:17,902 INFO L272 TraceCheckUtils]: 42: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:17,902 INFO L290 TraceCheckUtils]: 43: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:17,902 INFO L290 TraceCheckUtils]: 44: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:17,902 INFO L290 TraceCheckUtils]: 45: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:17,903 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #86#return; {15156#(= main_~p~0 2)} is VALID [2022-04-28 06:19:17,903 INFO L290 TraceCheckUtils]: 47: Hoare triple {15156#(= main_~p~0 2)} assume !(~r~0 >= ~d~0); {15156#(= main_~p~0 2)} is VALID [2022-04-28 06:19:17,903 INFO L290 TraceCheckUtils]: 48: Hoare triple {15156#(= main_~p~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15156#(= main_~p~0 2)} is VALID [2022-04-28 06:19:17,903 INFO L290 TraceCheckUtils]: 49: Hoare triple {15156#(= main_~p~0 2)} assume !!(#t~post7 < 100);havoc #t~post7; {15156#(= main_~p~0 2)} is VALID [2022-04-28 06:19:17,904 INFO L272 TraceCheckUtils]: 50: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:17,904 INFO L290 TraceCheckUtils]: 51: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:17,904 INFO L290 TraceCheckUtils]: 52: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:17,904 INFO L290 TraceCheckUtils]: 53: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:17,904 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #88#return; {15156#(= main_~p~0 2)} is VALID [2022-04-28 06:19:17,904 INFO L272 TraceCheckUtils]: 55: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:17,904 INFO L290 TraceCheckUtils]: 56: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:17,904 INFO L290 TraceCheckUtils]: 57: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:17,904 INFO L290 TraceCheckUtils]: 58: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:17,905 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #90#return; {15156#(= main_~p~0 2)} is VALID [2022-04-28 06:19:17,905 INFO L290 TraceCheckUtils]: 60: Hoare triple {15156#(= 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); {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:17,905 INFO L290 TraceCheckUtils]: 61: Hoare triple {15101#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:17,906 INFO L290 TraceCheckUtils]: 62: Hoare triple {15101#(= main_~p~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:17,906 INFO L290 TraceCheckUtils]: 63: Hoare triple {15101#(= main_~p~0 1)} assume !!(#t~post7 < 100);havoc #t~post7; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:17,906 INFO L272 TraceCheckUtils]: 64: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:17,906 INFO L290 TraceCheckUtils]: 65: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:17,906 INFO L290 TraceCheckUtils]: 66: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:17,906 INFO L290 TraceCheckUtils]: 67: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:17,907 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #88#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:17,907 INFO L272 TraceCheckUtils]: 69: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:17,907 INFO L290 TraceCheckUtils]: 70: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:17,907 INFO L290 TraceCheckUtils]: 71: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:17,907 INFO L290 TraceCheckUtils]: 72: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:17,907 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #90#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:17,907 INFO L290 TraceCheckUtils]: 74: Hoare triple {15101#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15064#false} is VALID [2022-04-28 06:19:17,908 INFO L290 TraceCheckUtils]: 75: Hoare triple {15064#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15064#false} is VALID [2022-04-28 06:19:17,908 INFO L290 TraceCheckUtils]: 76: Hoare triple {15064#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15064#false} is VALID [2022-04-28 06:19:17,908 INFO L290 TraceCheckUtils]: 77: Hoare triple {15064#false} assume !!(#t~post7 < 100);havoc #t~post7; {15064#false} is VALID [2022-04-28 06:19:17,908 INFO L272 TraceCheckUtils]: 78: Hoare triple {15064#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15064#false} is VALID [2022-04-28 06:19:17,908 INFO L290 TraceCheckUtils]: 79: Hoare triple {15064#false} ~cond := #in~cond; {15064#false} is VALID [2022-04-28 06:19:17,908 INFO L290 TraceCheckUtils]: 80: Hoare triple {15064#false} assume 0 == ~cond; {15064#false} is VALID [2022-04-28 06:19:17,908 INFO L290 TraceCheckUtils]: 81: Hoare triple {15064#false} assume !false; {15064#false} is VALID [2022-04-28 06:19:17,908 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 27 proven. 11 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-28 06:19:17,908 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:19:18,126 INFO L290 TraceCheckUtils]: 81: Hoare triple {15064#false} assume !false; {15064#false} is VALID [2022-04-28 06:19:18,126 INFO L290 TraceCheckUtils]: 80: Hoare triple {15064#false} assume 0 == ~cond; {15064#false} is VALID [2022-04-28 06:19:18,127 INFO L290 TraceCheckUtils]: 79: Hoare triple {15064#false} ~cond := #in~cond; {15064#false} is VALID [2022-04-28 06:19:18,127 INFO L272 TraceCheckUtils]: 78: Hoare triple {15064#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15064#false} is VALID [2022-04-28 06:19:18,127 INFO L290 TraceCheckUtils]: 77: Hoare triple {15064#false} assume !!(#t~post7 < 100);havoc #t~post7; {15064#false} is VALID [2022-04-28 06:19:18,127 INFO L290 TraceCheckUtils]: 76: Hoare triple {15064#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15064#false} is VALID [2022-04-28 06:19:18,127 INFO L290 TraceCheckUtils]: 75: Hoare triple {15064#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15064#false} is VALID [2022-04-28 06:19:18,127 INFO L290 TraceCheckUtils]: 74: Hoare triple {15101#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15064#false} is VALID [2022-04-28 06:19:18,127 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #90#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:18,128 INFO L290 TraceCheckUtils]: 72: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:18,128 INFO L290 TraceCheckUtils]: 71: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:18,128 INFO L290 TraceCheckUtils]: 70: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:18,128 INFO L272 TraceCheckUtils]: 69: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:18,128 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #88#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:18,128 INFO L290 TraceCheckUtils]: 67: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:18,128 INFO L290 TraceCheckUtils]: 66: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:18,128 INFO L290 TraceCheckUtils]: 65: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:18,128 INFO L272 TraceCheckUtils]: 64: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:18,129 INFO L290 TraceCheckUtils]: 63: Hoare triple {15101#(= main_~p~0 1)} assume !!(#t~post7 < 100);havoc #t~post7; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:18,129 INFO L290 TraceCheckUtils]: 62: Hoare triple {15101#(= main_~p~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:18,129 INFO L290 TraceCheckUtils]: 61: Hoare triple {15101#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:18,130 INFO L290 TraceCheckUtils]: 60: Hoare triple {15376#(= (div main_~p~0 2) 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:18,130 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #90#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 06:19:18,130 INFO L290 TraceCheckUtils]: 58: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:18,130 INFO L290 TraceCheckUtils]: 57: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:18,130 INFO L290 TraceCheckUtils]: 56: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:18,130 INFO L272 TraceCheckUtils]: 55: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:18,131 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #88#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 06:19:18,131 INFO L290 TraceCheckUtils]: 53: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:18,131 INFO L290 TraceCheckUtils]: 52: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:18,131 INFO L290 TraceCheckUtils]: 51: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:18,131 INFO L272 TraceCheckUtils]: 50: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:18,131 INFO L290 TraceCheckUtils]: 49: Hoare triple {15376#(= (div main_~p~0 2) 1)} assume !!(#t~post7 < 100);havoc #t~post7; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 06:19:18,132 INFO L290 TraceCheckUtils]: 48: Hoare triple {15376#(= (div main_~p~0 2) 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 06:19:18,132 INFO L290 TraceCheckUtils]: 47: Hoare triple {15376#(= (div main_~p~0 2) 1)} assume !(~r~0 >= ~d~0); {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 06:19:18,132 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #86#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 06:19:18,132 INFO L290 TraceCheckUtils]: 45: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:18,132 INFO L290 TraceCheckUtils]: 44: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:18,132 INFO L290 TraceCheckUtils]: 43: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:18,133 INFO L272 TraceCheckUtils]: 42: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:18,133 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #84#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 06:19:18,133 INFO L290 TraceCheckUtils]: 40: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:18,133 INFO L290 TraceCheckUtils]: 39: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:18,133 INFO L290 TraceCheckUtils]: 38: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:18,133 INFO L272 TraceCheckUtils]: 37: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:18,133 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #82#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 06:19:18,134 INFO L290 TraceCheckUtils]: 35: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:18,134 INFO L290 TraceCheckUtils]: 34: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:18,134 INFO L290 TraceCheckUtils]: 33: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:18,134 INFO L272 TraceCheckUtils]: 32: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:18,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {15376#(= (div main_~p~0 2) 1)} assume !!(#t~post6 < 100);havoc #t~post6; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 06:19:18,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {15376#(= (div main_~p~0 2) 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 06:19:18,135 INFO L290 TraceCheckUtils]: 29: Hoare triple {15101#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-28 06:19:18,135 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #86#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:18,135 INFO L290 TraceCheckUtils]: 27: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:18,135 INFO L290 TraceCheckUtils]: 26: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:18,135 INFO L290 TraceCheckUtils]: 25: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:18,135 INFO L272 TraceCheckUtils]: 24: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:18,136 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #84#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:18,136 INFO L290 TraceCheckUtils]: 22: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:18,136 INFO L290 TraceCheckUtils]: 21: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:18,136 INFO L290 TraceCheckUtils]: 20: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:18,136 INFO L272 TraceCheckUtils]: 19: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:18,136 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #82#return; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:18,136 INFO L290 TraceCheckUtils]: 17: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:18,136 INFO L290 TraceCheckUtils]: 16: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:18,136 INFO L290 TraceCheckUtils]: 15: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:18,136 INFO L272 TraceCheckUtils]: 14: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:18,137 INFO L290 TraceCheckUtils]: 13: Hoare triple {15101#(= main_~p~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:18,137 INFO L290 TraceCheckUtils]: 12: Hoare triple {15101#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:18,137 INFO L290 TraceCheckUtils]: 11: Hoare triple {15063#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15101#(= main_~p~0 1)} is VALID [2022-04-28 06:19:18,137 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15063#true} {15063#true} #80#return; {15063#true} is VALID [2022-04-28 06:19:18,137 INFO L290 TraceCheckUtils]: 9: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:18,137 INFO L290 TraceCheckUtils]: 8: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-28 06:19:18,137 INFO L290 TraceCheckUtils]: 7: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-28 06:19:18,137 INFO L272 TraceCheckUtils]: 6: Hoare triple {15063#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15063#true} is VALID [2022-04-28 06:19:18,137 INFO L290 TraceCheckUtils]: 5: Hoare triple {15063#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;~B~0 := #t~nondet5;havoc #t~nondet5; {15063#true} is VALID [2022-04-28 06:19:18,137 INFO L272 TraceCheckUtils]: 4: Hoare triple {15063#true} call #t~ret8 := main(); {15063#true} is VALID [2022-04-28 06:19:18,138 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15063#true} {15063#true} #96#return; {15063#true} is VALID [2022-04-28 06:19:18,138 INFO L290 TraceCheckUtils]: 2: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-28 06:19:18,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {15063#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);~counter~0 := 0; {15063#true} is VALID [2022-04-28 06:19:18,138 INFO L272 TraceCheckUtils]: 0: Hoare triple {15063#true} call ULTIMATE.init(); {15063#true} is VALID [2022-04-28 06:19:18,138 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 27 proven. 11 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-28 06:19:18,138 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:19:18,138 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1863471436] [2022-04-28 06:19:18,138 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:19:18,138 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [811416200] [2022-04-28 06:19:18,138 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [811416200] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:19:18,138 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:19:18,138 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-04-28 06:19:18,139 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:19:18,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2108515009] [2022-04-28 06:19:18,139 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2108515009] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:19:18,139 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:19:18,139 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 06:19:18,139 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2067105620] [2022-04-28 06:19:18,139 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:19:18,139 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 82 [2022-04-28 06:19:18,139 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:19:18,139 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 06:19:18,181 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:19:18,182 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 06:19:18,182 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:19:18,182 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 06:19:18,182 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:19:18,182 INFO L87 Difference]: Start difference. First operand 208 states and 240 transitions. Second operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 06:19:18,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:19:18,557 INFO L93 Difference]: Finished difference Result 225 states and 264 transitions. [2022-04-28 06:19:18,557 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 06:19:18,557 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 82 [2022-04-28 06:19:18,558 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:19:18,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 06:19:18,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-04-28 06:19:18,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 06:19:18,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-04-28 06:19:18,560 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-04-28 06:19:18,639 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:19:18,651 INFO L225 Difference]: With dead ends: 225 [2022-04-28 06:19:18,651 INFO L226 Difference]: Without dead ends: 196 [2022-04-28 06:19:18,652 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 159 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:19:18,652 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 1 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:19:18,653 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [2 Valid, 132 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:19:18,653 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 196 states. [2022-04-28 06:19:18,877 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 196 to 193. [2022-04-28 06:19:18,877 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:19:18,877 INFO L82 GeneralOperation]: Start isEquivalent. First operand 196 states. Second operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 06:19:18,877 INFO L74 IsIncluded]: Start isIncluded. First operand 196 states. Second operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 06:19:18,878 INFO L87 Difference]: Start difference. First operand 196 states. Second operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 06:19:18,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:19:18,881 INFO L93 Difference]: Finished difference Result 196 states and 224 transitions. [2022-04-28 06:19:18,881 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 224 transitions. [2022-04-28 06:19:18,881 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:19:18,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:19:18,881 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 196 states. [2022-04-28 06:19:18,882 INFO L87 Difference]: Start difference. First operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 196 states. [2022-04-28 06:19:18,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:19:18,895 INFO L93 Difference]: Finished difference Result 196 states and 224 transitions. [2022-04-28 06:19:18,895 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 224 transitions. [2022-04-28 06:19:18,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:19:18,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:19:18,895 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:19:18,895 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:19:18,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 06:19:18,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 219 transitions. [2022-04-28 06:19:18,899 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 219 transitions. Word has length 82 [2022-04-28 06:19:18,899 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:19:18,899 INFO L495 AbstractCegarLoop]: Abstraction has 193 states and 219 transitions. [2022-04-28 06:19:18,899 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-28 06:19:18,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 219 transitions. [2022-04-28 06:19:21,176 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 219 edges. 218 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:19:21,176 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 219 transitions. [2022-04-28 06:19:21,176 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-28 06:19:21,177 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:19:21,177 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 2, 2, 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:19:21,193 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 06:19:21,377 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 06:19:21,377 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:19:21,377 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:19:21,378 INFO L85 PathProgramCache]: Analyzing trace with hash 111833757, now seen corresponding path program 1 times [2022-04-28 06:19:21,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:19:21,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1854758809] [2022-04-28 06:19:28,052 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:19:28,052 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:19:28,052 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:19:28,052 INFO L85 PathProgramCache]: Analyzing trace with hash 111833757, now seen corresponding path program 2 times [2022-04-28 06:19:28,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:19:28,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1434462848] [2022-04-28 06:19:28,053 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:19:28,053 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:19:28,065 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:19:28,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1096852798] [2022-04-28 06:19:28,065 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:19:28,066 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:19:28,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:19:28,066 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:19:28,070 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 06:19:28,116 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:19:28,116 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:19:28,117 INFO L263 TraceCheckSpWp]: Trace formula consists of 214 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 06:19:28,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:19:28,130 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:19:29,049 INFO L272 TraceCheckUtils]: 0: Hoare triple {16787#true} call ULTIMATE.init(); {16787#true} is VALID [2022-04-28 06:19:29,049 INFO L290 TraceCheckUtils]: 1: Hoare triple {16787#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);~counter~0 := 0; {16787#true} is VALID [2022-04-28 06:19:29,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,049 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16787#true} {16787#true} #96#return; {16787#true} is VALID [2022-04-28 06:19:29,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {16787#true} call #t~ret8 := main(); {16787#true} is VALID [2022-04-28 06:19:29,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {16787#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;~B~0 := #t~nondet5;havoc #t~nondet5; {16787#true} is VALID [2022-04-28 06:19:29,050 INFO L272 TraceCheckUtils]: 6: Hoare triple {16787#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,050 INFO L290 TraceCheckUtils]: 8: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,050 INFO L290 TraceCheckUtils]: 9: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,050 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16787#true} {16787#true} #80#return; {16787#true} is VALID [2022-04-28 06:19:29,050 INFO L290 TraceCheckUtils]: 11: Hoare triple {16787#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,050 INFO L290 TraceCheckUtils]: 12: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,051 INFO L290 TraceCheckUtils]: 13: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(#t~post6 < 100);havoc #t~post6; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,051 INFO L272 TraceCheckUtils]: 14: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,051 INFO L290 TraceCheckUtils]: 15: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,051 INFO L290 TraceCheckUtils]: 16: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,051 INFO L290 TraceCheckUtils]: 17: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,051 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #82#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,051 INFO L272 TraceCheckUtils]: 19: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,051 INFO L290 TraceCheckUtils]: 20: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,051 INFO L290 TraceCheckUtils]: 21: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,052 INFO L290 TraceCheckUtils]: 22: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,052 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #84#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,052 INFO L272 TraceCheckUtils]: 24: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,052 INFO L290 TraceCheckUtils]: 25: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,052 INFO L290 TraceCheckUtils]: 26: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,052 INFO L290 TraceCheckUtils]: 27: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,053 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #86#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,053 INFO L290 TraceCheckUtils]: 29: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:19:29,054 INFO L290 TraceCheckUtils]: 30: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:19:29,054 INFO L290 TraceCheckUtils]: 31: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 100);havoc #t~post6; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:19:29,054 INFO L272 TraceCheckUtils]: 32: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,054 INFO L290 TraceCheckUtils]: 33: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,054 INFO L290 TraceCheckUtils]: 34: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,054 INFO L290 TraceCheckUtils]: 35: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,055 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16787#true} {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:19:29,055 INFO L272 TraceCheckUtils]: 37: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,055 INFO L290 TraceCheckUtils]: 38: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,055 INFO L290 TraceCheckUtils]: 39: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,055 INFO L290 TraceCheckUtils]: 40: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,056 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16787#true} {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:19:29,056 INFO L272 TraceCheckUtils]: 42: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,056 INFO L290 TraceCheckUtils]: 43: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,056 INFO L290 TraceCheckUtils]: 44: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,056 INFO L290 TraceCheckUtils]: 45: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,056 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16787#true} {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:19:29,058 INFO L290 TraceCheckUtils]: 47: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:19:29,058 INFO L290 TraceCheckUtils]: 48: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:19:29,058 INFO L290 TraceCheckUtils]: 49: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(#t~post7 < 100);havoc #t~post7; {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:19:29,058 INFO L272 TraceCheckUtils]: 50: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (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)); {16787#true} is VALID [2022-04-28 06:19:29,058 INFO L290 TraceCheckUtils]: 51: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,058 INFO L290 TraceCheckUtils]: 52: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,058 INFO L290 TraceCheckUtils]: 53: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,059 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16787#true} {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #88#return; {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:19:29,059 INFO L272 TraceCheckUtils]: 55: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,059 INFO L290 TraceCheckUtils]: 56: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,059 INFO L290 TraceCheckUtils]: 57: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,059 INFO L290 TraceCheckUtils]: 58: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,059 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16787#true} {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #90#return; {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:19:29,061 INFO L290 TraceCheckUtils]: 60: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (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); {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:19:29,061 INFO L290 TraceCheckUtils]: 61: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:19:29,061 INFO L290 TraceCheckUtils]: 62: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:19:29,062 INFO L290 TraceCheckUtils]: 63: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 100);havoc #t~post7; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:19:29,062 INFO L272 TraceCheckUtils]: 64: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,062 INFO L290 TraceCheckUtils]: 65: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,062 INFO L290 TraceCheckUtils]: 66: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,062 INFO L290 TraceCheckUtils]: 67: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,062 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16787#true} {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #88#return; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:19:29,062 INFO L272 TraceCheckUtils]: 69: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,062 INFO L290 TraceCheckUtils]: 70: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,063 INFO L290 TraceCheckUtils]: 71: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,063 INFO L290 TraceCheckUtils]: 72: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,063 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {16787#true} {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #90#return; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:19:29,063 INFO L290 TraceCheckUtils]: 74: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:19:29,063 INFO L272 TraceCheckUtils]: 75: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,063 INFO L290 TraceCheckUtils]: 76: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,064 INFO L290 TraceCheckUtils]: 77: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,064 INFO L290 TraceCheckUtils]: 78: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,064 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16787#true} {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #92#return; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:19:29,064 INFO L272 TraceCheckUtils]: 80: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {17036#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:19:29,065 INFO L290 TraceCheckUtils]: 81: Hoare triple {17036#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17040#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:19:29,065 INFO L290 TraceCheckUtils]: 82: Hoare triple {17040#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16788#false} is VALID [2022-04-28 06:19:29,065 INFO L290 TraceCheckUtils]: 83: Hoare triple {16788#false} assume !false; {16788#false} is VALID [2022-04-28 06:19:29,065 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 06:19:29,065 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:19:29,593 INFO L290 TraceCheckUtils]: 83: Hoare triple {16788#false} assume !false; {16788#false} is VALID [2022-04-28 06:19:29,593 INFO L290 TraceCheckUtils]: 82: Hoare triple {17040#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16788#false} is VALID [2022-04-28 06:19:29,594 INFO L290 TraceCheckUtils]: 81: Hoare triple {17036#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17040#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:19:29,594 INFO L272 TraceCheckUtils]: 80: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {17036#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:19:29,595 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #92#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,595 INFO L290 TraceCheckUtils]: 78: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,595 INFO L290 TraceCheckUtils]: 77: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,595 INFO L290 TraceCheckUtils]: 76: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,595 INFO L272 TraceCheckUtils]: 75: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,595 INFO L290 TraceCheckUtils]: 74: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,596 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #90#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,596 INFO L290 TraceCheckUtils]: 72: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,596 INFO L290 TraceCheckUtils]: 71: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,596 INFO L290 TraceCheckUtils]: 70: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,596 INFO L272 TraceCheckUtils]: 69: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,596 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #88#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,596 INFO L290 TraceCheckUtils]: 67: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,596 INFO L290 TraceCheckUtils]: 66: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,596 INFO L290 TraceCheckUtils]: 65: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,597 INFO L272 TraceCheckUtils]: 64: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,597 INFO L290 TraceCheckUtils]: 63: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(#t~post7 < 100);havoc #t~post7; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,597 INFO L290 TraceCheckUtils]: 62: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,597 INFO L290 TraceCheckUtils]: 61: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,599 INFO L290 TraceCheckUtils]: 60: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:19:29,599 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16787#true} {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #90#return; {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-28 06:19:29,599 INFO L290 TraceCheckUtils]: 58: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,599 INFO L290 TraceCheckUtils]: 57: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,599 INFO L290 TraceCheckUtils]: 56: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,600 INFO L272 TraceCheckUtils]: 55: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,600 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16787#true} {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #88#return; {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-28 06:19:29,600 INFO L290 TraceCheckUtils]: 53: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,600 INFO L290 TraceCheckUtils]: 52: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,600 INFO L290 TraceCheckUtils]: 51: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,600 INFO L272 TraceCheckUtils]: 50: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,601 INFO L290 TraceCheckUtils]: 49: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(#t~post7 < 100);havoc #t~post7; {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-28 06:19:29,602 INFO L290 TraceCheckUtils]: 48: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-28 06:19:29,603 INFO L290 TraceCheckUtils]: 47: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !(~r~0 >= ~d~0); {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-28 06:19:29,603 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16787#true} {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #86#return; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-28 06:19:29,603 INFO L290 TraceCheckUtils]: 45: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,603 INFO L290 TraceCheckUtils]: 44: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,603 INFO L290 TraceCheckUtils]: 43: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,603 INFO L272 TraceCheckUtils]: 42: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,604 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16787#true} {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #84#return; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-28 06:19:29,604 INFO L290 TraceCheckUtils]: 40: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,604 INFO L290 TraceCheckUtils]: 39: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,604 INFO L290 TraceCheckUtils]: 38: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,604 INFO L272 TraceCheckUtils]: 37: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,605 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16787#true} {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #82#return; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-28 06:19:29,605 INFO L290 TraceCheckUtils]: 35: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,605 INFO L290 TraceCheckUtils]: 34: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,605 INFO L290 TraceCheckUtils]: 33: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,605 INFO L272 TraceCheckUtils]: 32: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,606 INFO L290 TraceCheckUtils]: 31: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !!(#t~post6 < 100);havoc #t~post6; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-28 06:19:29,606 INFO L290 TraceCheckUtils]: 30: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-28 06:19:29,607 INFO L290 TraceCheckUtils]: 29: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-28 06:19:29,608 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16787#true} {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #86#return; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-28 06:19:29,608 INFO L290 TraceCheckUtils]: 27: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,608 INFO L290 TraceCheckUtils]: 26: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,608 INFO L290 TraceCheckUtils]: 25: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,608 INFO L272 TraceCheckUtils]: 24: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,609 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16787#true} {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #84#return; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-28 06:19:29,609 INFO L290 TraceCheckUtils]: 22: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,609 INFO L290 TraceCheckUtils]: 21: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,609 INFO L272 TraceCheckUtils]: 19: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,609 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16787#true} {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #82#return; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-28 06:19:29,609 INFO L290 TraceCheckUtils]: 17: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,609 INFO L290 TraceCheckUtils]: 16: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,609 INFO L290 TraceCheckUtils]: 15: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,609 INFO L272 TraceCheckUtils]: 14: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-28 06:19:29,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-28 06:19:29,611 INFO L290 TraceCheckUtils]: 11: Hoare triple {16787#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-28 06:19:29,611 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16787#true} {16787#true} #80#return; {16787#true} is VALID [2022-04-28 06:19:29,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-28 06:19:29,611 INFO L290 TraceCheckUtils]: 7: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-28 06:19:29,611 INFO L272 TraceCheckUtils]: 6: Hoare triple {16787#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16787#true} is VALID [2022-04-28 06:19:29,611 INFO L290 TraceCheckUtils]: 5: Hoare triple {16787#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;~B~0 := #t~nondet5;havoc #t~nondet5; {16787#true} is VALID [2022-04-28 06:19:29,611 INFO L272 TraceCheckUtils]: 4: Hoare triple {16787#true} call #t~ret8 := main(); {16787#true} is VALID [2022-04-28 06:19:29,611 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16787#true} {16787#true} #96#return; {16787#true} is VALID [2022-04-28 06:19:29,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-28 06:19:29,611 INFO L290 TraceCheckUtils]: 1: Hoare triple {16787#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);~counter~0 := 0; {16787#true} is VALID [2022-04-28 06:19:29,611 INFO L272 TraceCheckUtils]: 0: Hoare triple {16787#true} call ULTIMATE.init(); {16787#true} is VALID [2022-04-28 06:19:29,612 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 06:19:29,612 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:19:29,612 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1434462848] [2022-04-28 06:19:29,612 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:19:29,612 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1096852798] [2022-04-28 06:19:29,612 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1096852798] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:19:29,612 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:19:29,612 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-28 06:19:29,612 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:19:29,612 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1854758809] [2022-04-28 06:19:29,612 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1854758809] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:19:29,612 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:19:29,612 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 06:19:29,612 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [405963885] [2022-04-28 06:19:29,612 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:19:29,613 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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 84 [2022-04-28 06:19:29,613 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:19:29,613 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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:19:29,661 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:19:29,661 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 06:19:29,661 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:19:29,662 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 06:19:29,662 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-28 06:19:29,662 INFO L87 Difference]: Start difference. First operand 193 states and 219 transitions. Second operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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:19:30,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:19:30,501 INFO L93 Difference]: Finished difference Result 198 states and 223 transitions. [2022-04-28 06:19:30,501 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:19:30,501 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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 84 [2022-04-28 06:19:30,501 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:19:30,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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:19:30,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 06:19:30,502 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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:19:30,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 06:19:30,503 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-28 06:19:30,572 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:19:30,574 INFO L225 Difference]: With dead ends: 198 [2022-04-28 06:19:30,574 INFO L226 Difference]: Without dead ends: 161 [2022-04-28 06:19:30,574 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 169 GetRequests, 157 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=119, Unknown=0, NotChecked=0, Total=156 [2022-04-28 06:19:30,575 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 8 mSDsluCounter, 184 mSDsCounter, 0 mSdLazyCounter, 121 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 242 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 121 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:19:30,575 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 242 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 121 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:19:30,575 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-28 06:19:30,724 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 161. [2022-04-28 06:19:30,724 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:19:30,730 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:19:30,730 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:19:30,730 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:19:30,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:19:30,736 INFO L93 Difference]: Finished difference Result 161 states and 186 transitions. [2022-04-28 06:19:30,736 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 186 transitions. [2022-04-28 06:19:30,737 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:19:30,737 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:19:30,737 INFO L74 IsIncluded]: Start isIncluded. First operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 161 states. [2022-04-28 06:19:30,737 INFO L87 Difference]: Start difference. First operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 161 states. [2022-04-28 06:19:30,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:19:30,739 INFO L93 Difference]: Finished difference Result 161 states and 186 transitions. [2022-04-28 06:19:30,739 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 186 transitions. [2022-04-28 06:19:30,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:19:30,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:19:30,740 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:19:30,740 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:19:30,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:19:30,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 186 transitions. [2022-04-28 06:19:30,743 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 186 transitions. Word has length 84 [2022-04-28 06:19:30,743 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:19:30,743 INFO L495 AbstractCegarLoop]: Abstraction has 161 states and 186 transitions. [2022-04-28 06:19:30,743 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 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:19:30,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 161 states and 186 transitions. [2022-04-28 06:19:32,993 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 185 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:19:32,993 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 186 transitions. [2022-04-28 06:19:32,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 06:19:32,993 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:19:32,993 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 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:19:33,027 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 06:19:33,209 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:19:33,209 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:19:33,210 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:19:33,210 INFO L85 PathProgramCache]: Analyzing trace with hash -1068167297, now seen corresponding path program 7 times [2022-04-28 06:19:33,210 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:19:33,210 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [143094905] [2022-04-28 06:19:41,424 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:19:41,424 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:19:41,424 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:19:41,424 INFO L85 PathProgramCache]: Analyzing trace with hash -1068167297, now seen corresponding path program 8 times [2022-04-28 06:19:41,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:19:41,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1519084978] [2022-04-28 06:19:41,424 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:19:41,424 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:19:41,432 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:19:41,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2087177955] [2022-04-28 06:19:41,432 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:19:41,432 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:19:41,432 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:19:41,433 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:19:41,434 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 06:19:41,531 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:19:41,531 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:19:41,532 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 06:19:41,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:19:41,547 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:19:45,041 INFO L272 TraceCheckUtils]: 0: Hoare triple {18345#true} call ULTIMATE.init(); {18345#true} is VALID [2022-04-28 06:19:45,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {18345#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);~counter~0 := 0; {18345#true} is VALID [2022-04-28 06:19:45,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,042 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18345#true} {18345#true} #96#return; {18345#true} is VALID [2022-04-28 06:19:45,042 INFO L272 TraceCheckUtils]: 4: Hoare triple {18345#true} call #t~ret8 := main(); {18345#true} is VALID [2022-04-28 06:19:45,042 INFO L290 TraceCheckUtils]: 5: Hoare triple {18345#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;~B~0 := #t~nondet5;havoc #t~nondet5; {18345#true} is VALID [2022-04-28 06:19:45,042 INFO L272 TraceCheckUtils]: 6: Hoare triple {18345#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {18345#true} is VALID [2022-04-28 06:19:45,042 INFO L290 TraceCheckUtils]: 7: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:45,042 INFO L290 TraceCheckUtils]: 8: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:45,042 INFO L290 TraceCheckUtils]: 9: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,042 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18345#true} {18345#true} #80#return; {18345#true} is VALID [2022-04-28 06:19:45,042 INFO L290 TraceCheckUtils]: 11: Hoare triple {18345#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18383#(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:19:45,043 INFO L290 TraceCheckUtils]: 12: Hoare triple {18383#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18383#(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:19:45,043 INFO L290 TraceCheckUtils]: 13: Hoare triple {18383#(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 !!(#t~post6 < 100);havoc #t~post6; {18383#(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:19:45,043 INFO L272 TraceCheckUtils]: 14: Hoare triple {18383#(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)); {18345#true} is VALID [2022-04-28 06:19:45,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:45,043 INFO L290 TraceCheckUtils]: 16: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:45,043 INFO L290 TraceCheckUtils]: 17: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,044 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {18345#true} {18383#(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))} #82#return; {18383#(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:19:45,044 INFO L272 TraceCheckUtils]: 19: Hoare triple {18383#(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)); {18345#true} is VALID [2022-04-28 06:19:45,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:45,044 INFO L290 TraceCheckUtils]: 21: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:45,044 INFO L290 TraceCheckUtils]: 22: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,045 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18345#true} {18383#(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))} #84#return; {18383#(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:19:45,045 INFO L272 TraceCheckUtils]: 24: Hoare triple {18383#(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)); {18345#true} is VALID [2022-04-28 06:19:45,045 INFO L290 TraceCheckUtils]: 25: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:45,045 INFO L290 TraceCheckUtils]: 26: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:45,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,045 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18345#true} {18383#(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))} #86#return; {18383#(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:19:45,047 INFO L290 TraceCheckUtils]: 29: Hoare triple {18383#(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; {18438#(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:19:45,047 INFO L290 TraceCheckUtils]: 30: Hoare triple {18438#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18438#(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:19:45,047 INFO L290 TraceCheckUtils]: 31: Hoare triple {18438#(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 !!(#t~post6 < 100);havoc #t~post6; {18438#(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:19:45,047 INFO L272 TraceCheckUtils]: 32: Hoare triple {18438#(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)); {18345#true} is VALID [2022-04-28 06:19:45,047 INFO L290 TraceCheckUtils]: 33: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:45,047 INFO L290 TraceCheckUtils]: 34: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:45,048 INFO L290 TraceCheckUtils]: 35: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,048 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18345#true} {18438#(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))} #82#return; {18438#(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:19:45,048 INFO L272 TraceCheckUtils]: 37: Hoare triple {18438#(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)); {18345#true} is VALID [2022-04-28 06:19:45,048 INFO L290 TraceCheckUtils]: 38: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:45,048 INFO L290 TraceCheckUtils]: 39: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:45,048 INFO L290 TraceCheckUtils]: 40: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,049 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18345#true} {18438#(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))} #84#return; {18438#(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:19:45,049 INFO L272 TraceCheckUtils]: 42: Hoare triple {18438#(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)); {18345#true} is VALID [2022-04-28 06:19:45,049 INFO L290 TraceCheckUtils]: 43: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:45,049 INFO L290 TraceCheckUtils]: 44: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:45,049 INFO L290 TraceCheckUtils]: 45: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,049 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18345#true} {18438#(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))} #86#return; {18438#(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:19:45,050 INFO L290 TraceCheckUtils]: 47: Hoare triple {18438#(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; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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:19:45,051 INFO L290 TraceCheckUtils]: 48: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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:19:45,051 INFO L290 TraceCheckUtils]: 49: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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 !!(#t~post6 < 100);havoc #t~post6; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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:19:45,051 INFO L272 TraceCheckUtils]: 50: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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)); {18345#true} is VALID [2022-04-28 06:19:45,051 INFO L290 TraceCheckUtils]: 51: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:45,051 INFO L290 TraceCheckUtils]: 52: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:45,051 INFO L290 TraceCheckUtils]: 53: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,052 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {18345#true} {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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))} #82#return; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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:19:45,052 INFO L272 TraceCheckUtils]: 55: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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)); {18345#true} is VALID [2022-04-28 06:19:45,052 INFO L290 TraceCheckUtils]: 56: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:45,052 INFO L290 TraceCheckUtils]: 57: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:45,052 INFO L290 TraceCheckUtils]: 58: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,052 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18345#true} {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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))} #84#return; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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:19:45,053 INFO L272 TraceCheckUtils]: 60: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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)); {18345#true} is VALID [2022-04-28 06:19:45,053 INFO L290 TraceCheckUtils]: 61: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:45,053 INFO L290 TraceCheckUtils]: 62: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:45,053 INFO L290 TraceCheckUtils]: 63: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,053 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18345#true} {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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))} #86#return; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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:19:45,054 INFO L290 TraceCheckUtils]: 65: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (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); {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:19:45,054 INFO L290 TraceCheckUtils]: 66: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:19:45,054 INFO L290 TraceCheckUtils]: 67: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post7 < 100);havoc #t~post7; {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:19:45,054 INFO L272 TraceCheckUtils]: 68: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~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)); {18345#true} is VALID [2022-04-28 06:19:45,054 INFO L290 TraceCheckUtils]: 69: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:45,055 INFO L290 TraceCheckUtils]: 70: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:45,055 INFO L290 TraceCheckUtils]: 71: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,055 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18345#true} {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #88#return; {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:19:45,055 INFO L272 TraceCheckUtils]: 73: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 06:19:45,055 INFO L290 TraceCheckUtils]: 74: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:45,055 INFO L290 TraceCheckUtils]: 75: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:45,055 INFO L290 TraceCheckUtils]: 76: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:45,056 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18345#true} {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #90#return; {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:19:45,057 INFO L290 TraceCheckUtils]: 78: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~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); {18588#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~q~0 0))} is VALID [2022-04-28 06:19:45,058 INFO L290 TraceCheckUtils]: 79: Hoare triple {18588#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 06:19:45,059 INFO L290 TraceCheckUtils]: 80: Hoare triple {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 06:19:45,059 INFO L290 TraceCheckUtils]: 81: Hoare triple {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} assume !!(#t~post7 < 100);havoc #t~post7; {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 06:19:45,060 INFO L272 TraceCheckUtils]: 82: Hoare triple {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (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)); {18602#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:19:45,060 INFO L290 TraceCheckUtils]: 83: Hoare triple {18602#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18606#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:19:45,060 INFO L290 TraceCheckUtils]: 84: Hoare triple {18606#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18346#false} is VALID [2022-04-28 06:19:45,060 INFO L290 TraceCheckUtils]: 85: Hoare triple {18346#false} assume !false; {18346#false} is VALID [2022-04-28 06:19:45,061 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 21 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 06:19:45,061 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:19:52,532 INFO L290 TraceCheckUtils]: 85: Hoare triple {18346#false} assume !false; {18346#false} is VALID [2022-04-28 06:19:52,532 INFO L290 TraceCheckUtils]: 84: Hoare triple {18606#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18346#false} is VALID [2022-04-28 06:19:52,532 INFO L290 TraceCheckUtils]: 83: Hoare triple {18602#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18606#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:19:52,533 INFO L272 TraceCheckUtils]: 82: Hoare triple {18622#(= (+ 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)); {18602#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:19:52,533 INFO L290 TraceCheckUtils]: 81: Hoare triple {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 100);havoc #t~post7; {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:19:52,533 INFO L290 TraceCheckUtils]: 80: Hoare triple {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:19:52,536 INFO L290 TraceCheckUtils]: 79: Hoare triple {18632#(= (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; {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:19:52,551 INFO L290 TraceCheckUtils]: 78: Hoare triple {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {18632#(= (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:19:52,552 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18345#true} {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #90#return; {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 06:19:52,552 INFO L290 TraceCheckUtils]: 76: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,552 INFO L290 TraceCheckUtils]: 75: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:52,552 INFO L290 TraceCheckUtils]: 74: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:52,552 INFO L272 TraceCheckUtils]: 73: Hoare triple {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 06:19:52,553 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18345#true} {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #88#return; {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 06:19:52,553 INFO L290 TraceCheckUtils]: 71: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,553 INFO L290 TraceCheckUtils]: 70: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:52,553 INFO L290 TraceCheckUtils]: 69: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:52,553 INFO L272 TraceCheckUtils]: 68: Hoare triple {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 06:19:52,554 INFO L290 TraceCheckUtils]: 67: Hoare triple {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(#t~post7 < 100);havoc #t~post7; {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 06:19:52,555 INFO L290 TraceCheckUtils]: 66: Hoare triple {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 06:19:52,556 INFO L290 TraceCheckUtils]: 65: Hoare triple {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 06:19:52,557 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18345#true} {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #86#return; {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:19:52,557 INFO L290 TraceCheckUtils]: 63: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,557 INFO L290 TraceCheckUtils]: 62: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:52,557 INFO L290 TraceCheckUtils]: 61: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:52,557 INFO L272 TraceCheckUtils]: 60: Hoare triple {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 06:19:52,557 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18345#true} {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #84#return; {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:19:52,557 INFO L290 TraceCheckUtils]: 58: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,558 INFO L290 TraceCheckUtils]: 57: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:52,558 INFO L290 TraceCheckUtils]: 56: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:52,558 INFO L272 TraceCheckUtils]: 55: Hoare triple {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18345#true} is VALID [2022-04-28 06:19:52,558 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {18345#true} {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #82#return; {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:19:52,558 INFO L290 TraceCheckUtils]: 53: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,558 INFO L290 TraceCheckUtils]: 52: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:52,558 INFO L290 TraceCheckUtils]: 51: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:52,558 INFO L272 TraceCheckUtils]: 50: Hoare triple {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 06:19:52,559 INFO L290 TraceCheckUtils]: 49: Hoare triple {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 100);havoc #t~post6; {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:19:52,560 INFO L290 TraceCheckUtils]: 48: Hoare triple {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:19:52,564 INFO L290 TraceCheckUtils]: 47: Hoare triple {18731#(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; {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:19:52,565 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18345#true} {18731#(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))} #86#return; {18731#(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:19:52,565 INFO L290 TraceCheckUtils]: 45: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,565 INFO L290 TraceCheckUtils]: 44: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:52,565 INFO L290 TraceCheckUtils]: 43: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:52,565 INFO L272 TraceCheckUtils]: 42: Hoare triple {18731#(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)); {18345#true} is VALID [2022-04-28 06:19:52,566 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18345#true} {18731#(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))} #84#return; {18731#(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:19:52,566 INFO L290 TraceCheckUtils]: 40: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,566 INFO L290 TraceCheckUtils]: 39: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:52,566 INFO L290 TraceCheckUtils]: 38: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:52,566 INFO L272 TraceCheckUtils]: 37: Hoare triple {18731#(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)); {18345#true} is VALID [2022-04-28 06:19:52,566 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18345#true} {18731#(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))} #82#return; {18731#(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:19:52,566 INFO L290 TraceCheckUtils]: 35: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,566 INFO L290 TraceCheckUtils]: 34: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:52,566 INFO L290 TraceCheckUtils]: 33: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:52,567 INFO L272 TraceCheckUtils]: 32: Hoare triple {18731#(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)); {18345#true} is VALID [2022-04-28 06:19:52,567 INFO L290 TraceCheckUtils]: 31: Hoare triple {18731#(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 !!(#t~post6 < 100);havoc #t~post6; {18731#(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:19:52,567 INFO L290 TraceCheckUtils]: 30: Hoare triple {18731#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18731#(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:19:52,569 INFO L290 TraceCheckUtils]: 29: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18731#(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:19:52,569 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18345#true} {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #86#return; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:19:52,569 INFO L290 TraceCheckUtils]: 27: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,570 INFO L290 TraceCheckUtils]: 26: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:52,570 INFO L290 TraceCheckUtils]: 25: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:52,570 INFO L272 TraceCheckUtils]: 24: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 06:19:52,570 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18345#true} {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #84#return; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:19:52,570 INFO L290 TraceCheckUtils]: 22: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,570 INFO L290 TraceCheckUtils]: 21: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:52,570 INFO L290 TraceCheckUtils]: 20: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:52,570 INFO L272 TraceCheckUtils]: 19: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18345#true} is VALID [2022-04-28 06:19:52,571 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {18345#true} {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #82#return; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:19:52,571 INFO L290 TraceCheckUtils]: 17: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,571 INFO L290 TraceCheckUtils]: 16: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:52,571 INFO L290 TraceCheckUtils]: 15: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:52,571 INFO L272 TraceCheckUtils]: 14: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18345#true} is VALID [2022-04-28 06:19:52,572 INFO L290 TraceCheckUtils]: 13: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:19:52,572 INFO L290 TraceCheckUtils]: 12: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:19:52,574 INFO L290 TraceCheckUtils]: 11: Hoare triple {18345#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:19:52,574 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18345#true} {18345#true} #80#return; {18345#true} is VALID [2022-04-28 06:19:52,579 INFO L290 TraceCheckUtils]: 9: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,579 INFO L290 TraceCheckUtils]: 8: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-28 06:19:52,579 INFO L290 TraceCheckUtils]: 7: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-28 06:19:52,579 INFO L272 TraceCheckUtils]: 6: Hoare triple {18345#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {18345#true} is VALID [2022-04-28 06:19:52,579 INFO L290 TraceCheckUtils]: 5: Hoare triple {18345#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;~B~0 := #t~nondet5;havoc #t~nondet5; {18345#true} is VALID [2022-04-28 06:19:52,579 INFO L272 TraceCheckUtils]: 4: Hoare triple {18345#true} call #t~ret8 := main(); {18345#true} is VALID [2022-04-28 06:19:52,579 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18345#true} {18345#true} #96#return; {18345#true} is VALID [2022-04-28 06:19:52,579 INFO L290 TraceCheckUtils]: 2: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-28 06:19:52,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {18345#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);~counter~0 := 0; {18345#true} is VALID [2022-04-28 06:19:52,580 INFO L272 TraceCheckUtils]: 0: Hoare triple {18345#true} call ULTIMATE.init(); {18345#true} is VALID [2022-04-28 06:19:52,580 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 21 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 06:19:52,580 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:19:52,580 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1519084978] [2022-04-28 06:19:52,580 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:19:52,580 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2087177955] [2022-04-28 06:19:52,580 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2087177955] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:19:52,580 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:19:52,581 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 06:19:52,581 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:19:52,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [143094905] [2022-04-28 06:19:52,581 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [143094905] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:19:52,581 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:19:52,581 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 06:19:52,581 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1173164216] [2022-04-28 06:19:52,581 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:19:52,581 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 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 86 [2022-04-28 06:19:52,581 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:19:52,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 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:19:52,642 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:19:52,642 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 06:19:52,642 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:19:52,642 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 06:19:52,642 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-28 06:19:52,642 INFO L87 Difference]: Start difference. First operand 161 states and 186 transitions. Second operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 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:19:54,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:19:54,280 INFO L93 Difference]: Finished difference Result 220 states and 267 transitions. [2022-04-28 06:19:54,280 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 06:19:54,280 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 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 86 [2022-04-28 06:19:54,280 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:19:54,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 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:19:54,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-28 06:19:54,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 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:19:54,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-28 06:19:54,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 117 transitions. [2022-04-28 06:19:54,406 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:19:54,409 INFO L225 Difference]: With dead ends: 220 [2022-04-28 06:19:54,409 INFO L226 Difference]: Without dead ends: 175 [2022-04-28 06:19:54,409 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 156 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=66, Invalid=206, Unknown=0, NotChecked=0, Total=272 [2022-04-28 06:19:54,410 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 12 mSDsluCounter, 222 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 276 SdHoareTripleChecker+Invalid, 311 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 06:19:54,410 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 276 Invalid, 311 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 295 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 06:19:54,410 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-04-28 06:19:54,566 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 172. [2022-04-28 06:19:54,567 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:19:54,567 INFO L82 GeneralOperation]: Start isEquivalent. First operand 175 states. Second operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 06:19:54,567 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 06:19:54,567 INFO L87 Difference]: Start difference. First operand 175 states. Second operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 06:19:54,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:19:54,570 INFO L93 Difference]: Finished difference Result 175 states and 205 transitions. [2022-04-28 06:19:54,570 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 205 transitions. [2022-04-28 06:19:54,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:19:54,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:19:54,570 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 175 states. [2022-04-28 06:19:54,571 INFO L87 Difference]: Start difference. First operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 175 states. [2022-04-28 06:19:54,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:19:54,573 INFO L93 Difference]: Finished difference Result 175 states and 205 transitions. [2022-04-28 06:19:54,573 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 205 transitions. [2022-04-28 06:19:54,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:19:54,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:19:54,573 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:19:54,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:19:54,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 06:19:54,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 200 transitions. [2022-04-28 06:19:54,576 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 200 transitions. Word has length 86 [2022-04-28 06:19:54,576 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:19:54,576 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 200 transitions. [2022-04-28 06:19:54,576 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 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:19:54,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 200 transitions. [2022-04-28 06:19:56,857 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 200 edges. 199 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:19:56,857 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 200 transitions. [2022-04-28 06:19:56,859 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 06:19:56,859 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:19:56,859 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 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, 1] [2022-04-28 06:19:56,877 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 06:19:57,059 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:19:57,059 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:19:57,060 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:19:57,060 INFO L85 PathProgramCache]: Analyzing trace with hash -1271087930, now seen corresponding path program 9 times [2022-04-28 06:19:57,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:19:57,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1671956125] [2022-04-28 06:20:03,831 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:20:03,831 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:20:03,831 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:20:03,831 INFO L85 PathProgramCache]: Analyzing trace with hash -1271087930, now seen corresponding path program 10 times [2022-04-28 06:20:03,831 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:20:03,831 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1440935699] [2022-04-28 06:20:03,831 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:20:03,832 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:20:03,840 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:20:03,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1113450085] [2022-04-28 06:20:03,840 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:20:03,840 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:20:03,840 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:20:03,841 INFO L229 MonitoredProcess]: Starting monitored process 19 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:03,842 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 06:20:03,938 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:20:03,938 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:20:03,939 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 06:20:03,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:20:03,955 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:20:04,982 INFO L272 TraceCheckUtils]: 0: Hoare triple {20012#true} call ULTIMATE.init(); {20012#true} is VALID [2022-04-28 06:20:04,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {20012#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);~counter~0 := 0; {20012#true} is VALID [2022-04-28 06:20:04,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20012#true} {20012#true} #96#return; {20012#true} is VALID [2022-04-28 06:20:04,982 INFO L272 TraceCheckUtils]: 4: Hoare triple {20012#true} call #t~ret8 := main(); {20012#true} is VALID [2022-04-28 06:20:04,982 INFO L290 TraceCheckUtils]: 5: Hoare triple {20012#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;~B~0 := #t~nondet5;havoc #t~nondet5; {20012#true} is VALID [2022-04-28 06:20:04,982 INFO L272 TraceCheckUtils]: 6: Hoare triple {20012#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {20012#true} is VALID [2022-04-28 06:20:04,982 INFO L290 TraceCheckUtils]: 7: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,982 INFO L290 TraceCheckUtils]: 8: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,983 INFO L290 TraceCheckUtils]: 9: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,983 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20012#true} {20012#true} #80#return; {20012#true} is VALID [2022-04-28 06:20:04,983 INFO L290 TraceCheckUtils]: 11: Hoare triple {20012#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:20:04,983 INFO L290 TraceCheckUtils]: 12: Hoare triple {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:20:04,984 INFO L290 TraceCheckUtils]: 13: Hoare triple {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:20:04,984 INFO L272 TraceCheckUtils]: 14: Hoare triple {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 06:20:04,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,984 INFO L290 TraceCheckUtils]: 16: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,984 INFO L290 TraceCheckUtils]: 17: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,984 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {20012#true} {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:20:04,984 INFO L272 TraceCheckUtils]: 19: Hoare triple {20050#(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)); {20012#true} is VALID [2022-04-28 06:20:04,984 INFO L290 TraceCheckUtils]: 20: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,984 INFO L290 TraceCheckUtils]: 21: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,985 INFO L290 TraceCheckUtils]: 22: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,985 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20012#true} {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:20:04,985 INFO L272 TraceCheckUtils]: 24: Hoare triple {20050#(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)); {20012#true} is VALID [2022-04-28 06:20:04,985 INFO L290 TraceCheckUtils]: 25: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,985 INFO L290 TraceCheckUtils]: 26: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,985 INFO L290 TraceCheckUtils]: 27: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,986 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20012#true} {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:20:04,987 INFO L290 TraceCheckUtils]: 29: Hoare triple {20050#(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; {20105#(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:20:04,987 INFO L290 TraceCheckUtils]: 30: Hoare triple {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20105#(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:20:04,987 INFO L290 TraceCheckUtils]: 31: Hoare triple {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 100);havoc #t~post6; {20105#(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:20:04,987 INFO L272 TraceCheckUtils]: 32: Hoare triple {20105#(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)); {20012#true} is VALID [2022-04-28 06:20:04,987 INFO L290 TraceCheckUtils]: 33: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,988 INFO L290 TraceCheckUtils]: 34: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,988 INFO L290 TraceCheckUtils]: 35: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,988 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20012#true} {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {20105#(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:20:04,988 INFO L272 TraceCheckUtils]: 37: Hoare triple {20105#(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)); {20012#true} is VALID [2022-04-28 06:20:04,988 INFO L290 TraceCheckUtils]: 38: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,988 INFO L290 TraceCheckUtils]: 39: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,988 INFO L290 TraceCheckUtils]: 40: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,989 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20012#true} {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {20105#(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:20:04,989 INFO L272 TraceCheckUtils]: 42: Hoare triple {20105#(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)); {20012#true} is VALID [2022-04-28 06:20:04,989 INFO L290 TraceCheckUtils]: 43: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,989 INFO L290 TraceCheckUtils]: 44: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,989 INFO L290 TraceCheckUtils]: 45: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,989 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {20012#true} {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {20105#(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:20:04,991 INFO L290 TraceCheckUtils]: 47: Hoare triple {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:04,991 INFO L290 TraceCheckUtils]: 48: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:04,991 INFO L290 TraceCheckUtils]: 49: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} assume !!(#t~post6 < 100);havoc #t~post6; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:04,991 INFO L272 TraceCheckUtils]: 50: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 06:20:04,991 INFO L290 TraceCheckUtils]: 51: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,992 INFO L290 TraceCheckUtils]: 52: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,992 INFO L290 TraceCheckUtils]: 53: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,992 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {20012#true} {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #82#return; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:04,992 INFO L272 TraceCheckUtils]: 55: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20012#true} is VALID [2022-04-28 06:20:04,992 INFO L290 TraceCheckUtils]: 56: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,992 INFO L290 TraceCheckUtils]: 57: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,992 INFO L290 TraceCheckUtils]: 58: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,993 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20012#true} {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #84#return; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:04,993 INFO L272 TraceCheckUtils]: 60: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 06:20:04,993 INFO L290 TraceCheckUtils]: 61: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,993 INFO L290 TraceCheckUtils]: 62: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,993 INFO L290 TraceCheckUtils]: 63: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,993 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20012#true} {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #86#return; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:04,994 INFO L290 TraceCheckUtils]: 65: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:04,994 INFO L290 TraceCheckUtils]: 66: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:04,995 INFO L290 TraceCheckUtils]: 67: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} assume !!(#t~post7 < 100);havoc #t~post7; {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:04,995 INFO L272 TraceCheckUtils]: 68: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 06:20:04,995 INFO L290 TraceCheckUtils]: 69: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,995 INFO L290 TraceCheckUtils]: 70: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,995 INFO L290 TraceCheckUtils]: 71: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,995 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20012#true} {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #88#return; {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:04,996 INFO L272 TraceCheckUtils]: 73: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 06:20:04,996 INFO L290 TraceCheckUtils]: 74: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,996 INFO L290 TraceCheckUtils]: 75: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,996 INFO L290 TraceCheckUtils]: 76: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,996 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {20012#true} {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #90#return; {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:04,997 INFO L290 TraceCheckUtils]: 78: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~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); {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:20:04,997 INFO L290 TraceCheckUtils]: 79: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:20:04,998 INFO L290 TraceCheckUtils]: 80: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:20:04,998 INFO L290 TraceCheckUtils]: 81: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 100);havoc #t~post7; {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:20:04,998 INFO L272 TraceCheckUtils]: 82: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 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)); {20012#true} is VALID [2022-04-28 06:20:04,998 INFO L290 TraceCheckUtils]: 83: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:04,998 INFO L290 TraceCheckUtils]: 84: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:04,998 INFO L290 TraceCheckUtils]: 85: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:04,999 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20012#true} {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} #88#return; {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:20:04,999 INFO L272 TraceCheckUtils]: 87: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20283#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:20:05,000 INFO L290 TraceCheckUtils]: 88: Hoare triple {20283#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20287#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:20:05,000 INFO L290 TraceCheckUtils]: 89: Hoare triple {20287#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20013#false} is VALID [2022-04-28 06:20:05,000 INFO L290 TraceCheckUtils]: 90: Hoare triple {20013#false} assume !false; {20013#false} is VALID [2022-04-28 06:20:05,000 INFO L134 CoverageAnalysis]: Checked inductivity of 310 backedges. 24 proven. 22 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-28 06:20:05,000 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:20:09,996 INFO L290 TraceCheckUtils]: 90: Hoare triple {20013#false} assume !false; {20013#false} is VALID [2022-04-28 06:20:09,997 INFO L290 TraceCheckUtils]: 89: Hoare triple {20287#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20013#false} is VALID [2022-04-28 06:20:09,997 INFO L290 TraceCheckUtils]: 88: Hoare triple {20283#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20287#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:20:09,997 INFO L272 TraceCheckUtils]: 87: Hoare triple {20303#(= 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)); {20283#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:20:09,998 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20012#true} {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #88#return; {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:20:09,998 INFO L290 TraceCheckUtils]: 85: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:09,998 INFO L290 TraceCheckUtils]: 84: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:09,998 INFO L290 TraceCheckUtils]: 83: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:09,998 INFO L272 TraceCheckUtils]: 82: Hoare triple {20303#(= 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)); {20012#true} is VALID [2022-04-28 06:20:09,998 INFO L290 TraceCheckUtils]: 81: Hoare triple {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 100);havoc #t~post7; {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:20:09,998 INFO L290 TraceCheckUtils]: 80: Hoare triple {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:20:09,999 INFO L290 TraceCheckUtils]: 79: Hoare triple {20303#(= 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; {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:20:10,009 INFO L290 TraceCheckUtils]: 78: Hoare triple {20331#(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); {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:20:10,009 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {20012#true} {20331#(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))))))} #90#return; {20331#(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:20:10,010 INFO L290 TraceCheckUtils]: 76: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,010 INFO L290 TraceCheckUtils]: 75: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:10,010 INFO L290 TraceCheckUtils]: 74: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:10,010 INFO L272 TraceCheckUtils]: 73: Hoare triple {20331#(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)); {20012#true} is VALID [2022-04-28 06:20:10,023 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20012#true} {20331#(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))))))} #88#return; {20331#(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:20:10,023 INFO L290 TraceCheckUtils]: 71: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,023 INFO L290 TraceCheckUtils]: 70: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:10,024 INFO L290 TraceCheckUtils]: 69: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:10,024 INFO L272 TraceCheckUtils]: 68: Hoare triple {20331#(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)); {20012#true} is VALID [2022-04-28 06:20:10,025 INFO L290 TraceCheckUtils]: 67: Hoare triple {20331#(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 !!(#t~post7 < 100);havoc #t~post7; {20331#(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:20:10,026 INFO L290 TraceCheckUtils]: 66: Hoare triple {20331#(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))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20331#(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:20:10,027 INFO L290 TraceCheckUtils]: 65: Hoare triple {20371#(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); {20331#(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:20:10,028 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20012#true} {20371#(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))} #86#return; {20371#(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:20:10,028 INFO L290 TraceCheckUtils]: 63: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,028 INFO L290 TraceCheckUtils]: 62: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:10,028 INFO L290 TraceCheckUtils]: 61: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:10,028 INFO L272 TraceCheckUtils]: 60: Hoare triple {20371#(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)); {20012#true} is VALID [2022-04-28 06:20:10,028 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20012#true} {20371#(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))} #84#return; {20371#(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:20:10,028 INFO L290 TraceCheckUtils]: 58: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,028 INFO L290 TraceCheckUtils]: 57: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:10,029 INFO L290 TraceCheckUtils]: 56: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:10,029 INFO L272 TraceCheckUtils]: 55: Hoare triple {20371#(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)); {20012#true} is VALID [2022-04-28 06:20:10,029 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {20012#true} {20371#(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))} #82#return; {20371#(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:20:10,029 INFO L290 TraceCheckUtils]: 53: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,029 INFO L290 TraceCheckUtils]: 52: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:10,029 INFO L290 TraceCheckUtils]: 51: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:10,029 INFO L272 TraceCheckUtils]: 50: Hoare triple {20371#(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)); {20012#true} is VALID [2022-04-28 06:20:10,030 INFO L290 TraceCheckUtils]: 49: Hoare triple {20371#(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 !!(#t~post6 < 100);havoc #t~post6; {20371#(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:20:10,031 INFO L290 TraceCheckUtils]: 48: Hoare triple {20371#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20371#(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:20:10,036 INFO L290 TraceCheckUtils]: 47: Hoare triple {20426#(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; {20371#(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:20:10,037 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {20012#true} {20426#(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))))} #86#return; {20426#(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:20:10,037 INFO L290 TraceCheckUtils]: 45: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,037 INFO L290 TraceCheckUtils]: 44: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:10,037 INFO L290 TraceCheckUtils]: 43: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:10,037 INFO L272 TraceCheckUtils]: 42: Hoare triple {20426#(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)); {20012#true} is VALID [2022-04-28 06:20:10,037 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20012#true} {20426#(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))))} #84#return; {20426#(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:20:10,038 INFO L290 TraceCheckUtils]: 40: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,038 INFO L290 TraceCheckUtils]: 39: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:10,038 INFO L290 TraceCheckUtils]: 38: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:10,038 INFO L272 TraceCheckUtils]: 37: Hoare triple {20426#(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)); {20012#true} is VALID [2022-04-28 06:20:10,038 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20012#true} {20426#(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))))} #82#return; {20426#(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:20:10,038 INFO L290 TraceCheckUtils]: 35: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,038 INFO L290 TraceCheckUtils]: 34: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:10,038 INFO L290 TraceCheckUtils]: 33: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:10,038 INFO L272 TraceCheckUtils]: 32: Hoare triple {20426#(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)); {20012#true} is VALID [2022-04-28 06:20:10,039 INFO L290 TraceCheckUtils]: 31: Hoare triple {20426#(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 !!(#t~post6 < 100);havoc #t~post6; {20426#(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:20:10,039 INFO L290 TraceCheckUtils]: 30: Hoare triple {20426#(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))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20426#(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:20:10,041 INFO L290 TraceCheckUtils]: 29: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20426#(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:20:10,041 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20012#true} {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} #86#return; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-28 06:20:10,042 INFO L290 TraceCheckUtils]: 27: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,042 INFO L290 TraceCheckUtils]: 26: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:10,042 INFO L290 TraceCheckUtils]: 25: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:10,042 INFO L272 TraceCheckUtils]: 24: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 06:20:10,042 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20012#true} {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} #84#return; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-28 06:20:10,042 INFO L290 TraceCheckUtils]: 22: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,042 INFO L290 TraceCheckUtils]: 21: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:10,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:10,042 INFO L272 TraceCheckUtils]: 19: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20012#true} is VALID [2022-04-28 06:20:10,043 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {20012#true} {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} #82#return; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-28 06:20:10,043 INFO L290 TraceCheckUtils]: 17: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,043 INFO L290 TraceCheckUtils]: 16: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:10,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:10,043 INFO L272 TraceCheckUtils]: 14: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-28 06:20:10,043 INFO L290 TraceCheckUtils]: 13: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-28 06:20:10,044 INFO L290 TraceCheckUtils]: 12: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-28 06:20:10,044 INFO L290 TraceCheckUtils]: 11: Hoare triple {20012#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-28 06:20:10,044 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20012#true} {20012#true} #80#return; {20012#true} is VALID [2022-04-28 06:20:10,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-28 06:20:10,045 INFO L290 TraceCheckUtils]: 7: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-28 06:20:10,045 INFO L272 TraceCheckUtils]: 6: Hoare triple {20012#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {20012#true} is VALID [2022-04-28 06:20:10,045 INFO L290 TraceCheckUtils]: 5: Hoare triple {20012#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;~B~0 := #t~nondet5;havoc #t~nondet5; {20012#true} is VALID [2022-04-28 06:20:10,045 INFO L272 TraceCheckUtils]: 4: Hoare triple {20012#true} call #t~ret8 := main(); {20012#true} is VALID [2022-04-28 06:20:10,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20012#true} {20012#true} #96#return; {20012#true} is VALID [2022-04-28 06:20:10,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-28 06:20:10,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {20012#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);~counter~0 := 0; {20012#true} is VALID [2022-04-28 06:20:10,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {20012#true} call ULTIMATE.init(); {20012#true} is VALID [2022-04-28 06:20:10,045 INFO L134 CoverageAnalysis]: Checked inductivity of 310 backedges. 24 proven. 22 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-28 06:20:10,045 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:20:10,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1440935699] [2022-04-28 06:20:10,046 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:20:10,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1113450085] [2022-04-28 06:20:10,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1113450085] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:20:10,046 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:20:10,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 06:20:10,046 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:20:10,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1671956125] [2022-04-28 06:20:10,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1671956125] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:20:10,046 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:20:10,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 06:20:10,046 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1038234408] [2022-04-28 06:20:10,046 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:20:10,047 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 91 [2022-04-28 06:20:10,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:20:10,047 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:20:10,107 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:20:10,107 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 06:20:10,107 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:10,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 06:20:10,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=130, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:20:10,108 INFO L87 Difference]: Start difference. First operand 172 states and 200 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:20:11,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:11,641 INFO L93 Difference]: Finished difference Result 212 states and 254 transitions. [2022-04-28 06:20:11,641 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 06:20:11,642 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 91 [2022-04-28 06:20:11,642 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:20:11,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:20:11,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 123 transitions. [2022-04-28 06:20:11,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:20:11,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 123 transitions. [2022-04-28 06:20:11,650 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 123 transitions. [2022-04-28 06:20:11,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:11,786 INFO L225 Difference]: With dead ends: 212 [2022-04-28 06:20:11,787 INFO L226 Difference]: Without dead ends: 182 [2022-04-28 06:20:11,787 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 168 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=74, Invalid=198, Unknown=0, NotChecked=0, Total=272 [2022-04-28 06:20:11,787 INFO L413 NwaCegarLoop]: 68 mSDtfsCounter, 14 mSDsluCounter, 282 mSDsCounter, 0 mSdLazyCounter, 286 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 350 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 286 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 06:20:11,787 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 350 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 286 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 06:20:11,788 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-28 06:20:11,973 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 180. [2022-04-28 06:20:11,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:20:11,974 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 06:20:11,974 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 06:20:11,974 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 06:20:11,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:11,985 INFO L93 Difference]: Finished difference Result 182 states and 210 transitions. [2022-04-28 06:20:11,985 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 210 transitions. [2022-04-28 06:20:11,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:11,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:11,986 INFO L74 IsIncluded]: Start isIncluded. First operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 182 states. [2022-04-28 06:20:11,986 INFO L87 Difference]: Start difference. First operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 182 states. [2022-04-28 06:20:11,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:11,988 INFO L93 Difference]: Finished difference Result 182 states and 210 transitions. [2022-04-28 06:20:11,988 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 210 transitions. [2022-04-28 06:20:11,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:11,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:11,989 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:20:11,989 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:20:11,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 06:20:11,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 180 states to 180 states and 207 transitions. [2022-04-28 06:20:11,991 INFO L78 Accepts]: Start accepts. Automaton has 180 states and 207 transitions. Word has length 91 [2022-04-28 06:20:11,991 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:20:11,992 INFO L495 AbstractCegarLoop]: Abstraction has 180 states and 207 transitions. [2022-04-28 06:20:11,992 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:20:11,992 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 180 states and 207 transitions. [2022-04-28 06:20:14,281 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 207 edges. 206 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:14,281 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 207 transitions. [2022-04-28 06:20:14,282 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-28 06:20:14,282 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:20:14,282 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 4, 4, 4, 4, 4, 4, 4, 4, 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:14,298 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 06:20:14,482 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:20:14,483 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:20:14,483 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:20:14,483 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 7 times [2022-04-28 06:20:14,483 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:14,483 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1559865871] [2022-04-28 06:20:19,887 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:20:19,887 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:20:19,887 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:20:19,887 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 8 times [2022-04-28 06:20:19,887 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:20:19,887 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2092284643] [2022-04-28 06:20:19,887 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:20:19,887 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:20:19,895 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:20:19,895 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [414803470] [2022-04-28 06:20:19,895 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:20:19,895 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:20:19,895 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:20:19,896 INFO L229 MonitoredProcess]: Starting monitored process 20 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:19,897 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 06:20:19,943 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:20:19,943 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:20:19,944 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 06:20:19,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:20:19,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:20:20,267 INFO L272 TraceCheckUtils]: 0: Hoare triple {21725#true} call ULTIMATE.init(); {21725#true} is VALID [2022-04-28 06:20:20,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {21725#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);~counter~0 := 0; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:20,267 INFO L290 TraceCheckUtils]: 2: Hoare triple {21733#(<= ~counter~0 0)} assume true; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:20,268 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21733#(<= ~counter~0 0)} {21725#true} #96#return; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:20,268 INFO L272 TraceCheckUtils]: 4: Hoare triple {21733#(<= ~counter~0 0)} call #t~ret8 := main(); {21733#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:20,268 INFO L290 TraceCheckUtils]: 5: Hoare triple {21733#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:20,269 INFO L272 TraceCheckUtils]: 6: Hoare triple {21733#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {21733#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:20,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {21733#(<= ~counter~0 0)} ~cond := #in~cond; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:20,269 INFO L290 TraceCheckUtils]: 8: Hoare triple {21733#(<= ~counter~0 0)} assume !(0 == ~cond); {21733#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:20,269 INFO L290 TraceCheckUtils]: 9: Hoare triple {21733#(<= ~counter~0 0)} assume true; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:20,270 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21733#(<= ~counter~0 0)} {21733#(<= ~counter~0 0)} #80#return; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:20,270 INFO L290 TraceCheckUtils]: 11: Hoare triple {21733#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {21733#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:20,271 INFO L290 TraceCheckUtils]: 12: Hoare triple {21733#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,271 INFO L290 TraceCheckUtils]: 13: Hoare triple {21767#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,271 INFO L272 TraceCheckUtils]: 14: Hoare triple {21767#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,271 INFO L290 TraceCheckUtils]: 15: Hoare triple {21767#(<= ~counter~0 1)} ~cond := #in~cond; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,272 INFO L290 TraceCheckUtils]: 16: Hoare triple {21767#(<= ~counter~0 1)} assume !(0 == ~cond); {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,272 INFO L290 TraceCheckUtils]: 17: Hoare triple {21767#(<= ~counter~0 1)} assume true; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,272 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {21767#(<= ~counter~0 1)} {21767#(<= ~counter~0 1)} #82#return; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,273 INFO L272 TraceCheckUtils]: 19: Hoare triple {21767#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,273 INFO L290 TraceCheckUtils]: 20: Hoare triple {21767#(<= ~counter~0 1)} ~cond := #in~cond; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,273 INFO L290 TraceCheckUtils]: 21: Hoare triple {21767#(<= ~counter~0 1)} assume !(0 == ~cond); {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,273 INFO L290 TraceCheckUtils]: 22: Hoare triple {21767#(<= ~counter~0 1)} assume true; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,274 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21767#(<= ~counter~0 1)} {21767#(<= ~counter~0 1)} #84#return; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,274 INFO L272 TraceCheckUtils]: 24: Hoare triple {21767#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,274 INFO L290 TraceCheckUtils]: 25: Hoare triple {21767#(<= ~counter~0 1)} ~cond := #in~cond; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,275 INFO L290 TraceCheckUtils]: 26: Hoare triple {21767#(<= ~counter~0 1)} assume !(0 == ~cond); {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,275 INFO L290 TraceCheckUtils]: 27: Hoare triple {21767#(<= ~counter~0 1)} assume true; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,275 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {21767#(<= ~counter~0 1)} {21767#(<= ~counter~0 1)} #86#return; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,275 INFO L290 TraceCheckUtils]: 29: Hoare triple {21767#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21767#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:20,276 INFO L290 TraceCheckUtils]: 30: Hoare triple {21767#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,276 INFO L290 TraceCheckUtils]: 31: Hoare triple {21822#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,276 INFO L272 TraceCheckUtils]: 32: Hoare triple {21822#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,277 INFO L290 TraceCheckUtils]: 33: Hoare triple {21822#(<= ~counter~0 2)} ~cond := #in~cond; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,277 INFO L290 TraceCheckUtils]: 34: Hoare triple {21822#(<= ~counter~0 2)} assume !(0 == ~cond); {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,277 INFO L290 TraceCheckUtils]: 35: Hoare triple {21822#(<= ~counter~0 2)} assume true; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,278 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {21822#(<= ~counter~0 2)} {21822#(<= ~counter~0 2)} #82#return; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,278 INFO L272 TraceCheckUtils]: 37: Hoare triple {21822#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,278 INFO L290 TraceCheckUtils]: 38: Hoare triple {21822#(<= ~counter~0 2)} ~cond := #in~cond; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,278 INFO L290 TraceCheckUtils]: 39: Hoare triple {21822#(<= ~counter~0 2)} assume !(0 == ~cond); {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,279 INFO L290 TraceCheckUtils]: 40: Hoare triple {21822#(<= ~counter~0 2)} assume true; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,279 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21822#(<= ~counter~0 2)} {21822#(<= ~counter~0 2)} #84#return; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,279 INFO L272 TraceCheckUtils]: 42: Hoare triple {21822#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,280 INFO L290 TraceCheckUtils]: 43: Hoare triple {21822#(<= ~counter~0 2)} ~cond := #in~cond; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,280 INFO L290 TraceCheckUtils]: 44: Hoare triple {21822#(<= ~counter~0 2)} assume !(0 == ~cond); {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,280 INFO L290 TraceCheckUtils]: 45: Hoare triple {21822#(<= ~counter~0 2)} assume true; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,281 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {21822#(<= ~counter~0 2)} {21822#(<= ~counter~0 2)} #86#return; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,281 INFO L290 TraceCheckUtils]: 47: Hoare triple {21822#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21822#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:20,281 INFO L290 TraceCheckUtils]: 48: Hoare triple {21822#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,281 INFO L290 TraceCheckUtils]: 49: Hoare triple {21877#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,282 INFO L272 TraceCheckUtils]: 50: Hoare triple {21877#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,282 INFO L290 TraceCheckUtils]: 51: Hoare triple {21877#(<= ~counter~0 3)} ~cond := #in~cond; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,282 INFO L290 TraceCheckUtils]: 52: Hoare triple {21877#(<= ~counter~0 3)} assume !(0 == ~cond); {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,283 INFO L290 TraceCheckUtils]: 53: Hoare triple {21877#(<= ~counter~0 3)} assume true; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,283 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {21877#(<= ~counter~0 3)} {21877#(<= ~counter~0 3)} #82#return; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,283 INFO L272 TraceCheckUtils]: 55: Hoare triple {21877#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,283 INFO L290 TraceCheckUtils]: 56: Hoare triple {21877#(<= ~counter~0 3)} ~cond := #in~cond; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,284 INFO L290 TraceCheckUtils]: 57: Hoare triple {21877#(<= ~counter~0 3)} assume !(0 == ~cond); {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,284 INFO L290 TraceCheckUtils]: 58: Hoare triple {21877#(<= ~counter~0 3)} assume true; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,284 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21877#(<= ~counter~0 3)} {21877#(<= ~counter~0 3)} #84#return; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,285 INFO L272 TraceCheckUtils]: 60: Hoare triple {21877#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,285 INFO L290 TraceCheckUtils]: 61: Hoare triple {21877#(<= ~counter~0 3)} ~cond := #in~cond; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,285 INFO L290 TraceCheckUtils]: 62: Hoare triple {21877#(<= ~counter~0 3)} assume !(0 == ~cond); {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,285 INFO L290 TraceCheckUtils]: 63: Hoare triple {21877#(<= ~counter~0 3)} assume true; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,286 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {21877#(<= ~counter~0 3)} {21877#(<= ~counter~0 3)} #86#return; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,286 INFO L290 TraceCheckUtils]: 65: Hoare triple {21877#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21877#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:20,287 INFO L290 TraceCheckUtils]: 66: Hoare triple {21877#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,287 INFO L290 TraceCheckUtils]: 67: Hoare triple {21932#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,287 INFO L272 TraceCheckUtils]: 68: Hoare triple {21932#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,287 INFO L290 TraceCheckUtils]: 69: Hoare triple {21932#(<= ~counter~0 4)} ~cond := #in~cond; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,288 INFO L290 TraceCheckUtils]: 70: Hoare triple {21932#(<= ~counter~0 4)} assume !(0 == ~cond); {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,288 INFO L290 TraceCheckUtils]: 71: Hoare triple {21932#(<= ~counter~0 4)} assume true; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,288 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {21932#(<= ~counter~0 4)} {21932#(<= ~counter~0 4)} #82#return; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,289 INFO L272 TraceCheckUtils]: 73: Hoare triple {21932#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,289 INFO L290 TraceCheckUtils]: 74: Hoare triple {21932#(<= ~counter~0 4)} ~cond := #in~cond; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,289 INFO L290 TraceCheckUtils]: 75: Hoare triple {21932#(<= ~counter~0 4)} assume !(0 == ~cond); {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,289 INFO L290 TraceCheckUtils]: 76: Hoare triple {21932#(<= ~counter~0 4)} assume true; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,290 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {21932#(<= ~counter~0 4)} {21932#(<= ~counter~0 4)} #84#return; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,290 INFO L272 TraceCheckUtils]: 78: Hoare triple {21932#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,290 INFO L290 TraceCheckUtils]: 79: Hoare triple {21932#(<= ~counter~0 4)} ~cond := #in~cond; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,291 INFO L290 TraceCheckUtils]: 80: Hoare triple {21932#(<= ~counter~0 4)} assume !(0 == ~cond); {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,291 INFO L290 TraceCheckUtils]: 81: Hoare triple {21932#(<= ~counter~0 4)} assume true; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,293 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {21932#(<= ~counter~0 4)} {21932#(<= ~counter~0 4)} #86#return; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,293 INFO L290 TraceCheckUtils]: 83: Hoare triple {21932#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21932#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:20,293 INFO L290 TraceCheckUtils]: 84: Hoare triple {21932#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21987#(<= |main_#t~post6| 4)} is VALID [2022-04-28 06:20:20,294 INFO L290 TraceCheckUtils]: 85: Hoare triple {21987#(<= |main_#t~post6| 4)} assume !(#t~post6 < 100);havoc #t~post6; {21726#false} is VALID [2022-04-28 06:20:20,294 INFO L290 TraceCheckUtils]: 86: Hoare triple {21726#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21726#false} is VALID [2022-04-28 06:20:20,294 INFO L290 TraceCheckUtils]: 87: Hoare triple {21726#false} assume !(#t~post7 < 100);havoc #t~post7; {21726#false} is VALID [2022-04-28 06:20:20,294 INFO L272 TraceCheckUtils]: 88: Hoare triple {21726#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {21726#false} is VALID [2022-04-28 06:20:20,294 INFO L290 TraceCheckUtils]: 89: Hoare triple {21726#false} ~cond := #in~cond; {21726#false} is VALID [2022-04-28 06:20:20,294 INFO L290 TraceCheckUtils]: 90: Hoare triple {21726#false} assume !(0 == ~cond); {21726#false} is VALID [2022-04-28 06:20:20,294 INFO L290 TraceCheckUtils]: 91: Hoare triple {21726#false} assume true; {21726#false} is VALID [2022-04-28 06:20:20,294 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {21726#false} {21726#false} #92#return; {21726#false} is VALID [2022-04-28 06:20:20,294 INFO L272 TraceCheckUtils]: 93: Hoare triple {21726#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {21726#false} is VALID [2022-04-28 06:20:20,294 INFO L290 TraceCheckUtils]: 94: Hoare triple {21726#false} ~cond := #in~cond; {21726#false} is VALID [2022-04-28 06:20:20,294 INFO L290 TraceCheckUtils]: 95: Hoare triple {21726#false} assume 0 == ~cond; {21726#false} is VALID [2022-04-28 06:20:20,294 INFO L290 TraceCheckUtils]: 96: Hoare triple {21726#false} assume !false; {21726#false} is VALID [2022-04-28 06:20:20,295 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 72 proven. 260 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-04-28 06:20:20,295 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:20:20,624 INFO L290 TraceCheckUtils]: 96: Hoare triple {21726#false} assume !false; {21726#false} is VALID [2022-04-28 06:20:20,624 INFO L290 TraceCheckUtils]: 95: Hoare triple {21726#false} assume 0 == ~cond; {21726#false} is VALID [2022-04-28 06:20:20,624 INFO L290 TraceCheckUtils]: 94: Hoare triple {21726#false} ~cond := #in~cond; {21726#false} is VALID [2022-04-28 06:20:20,625 INFO L272 TraceCheckUtils]: 93: Hoare triple {21726#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {21726#false} is VALID [2022-04-28 06:20:20,625 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {21725#true} {21726#false} #92#return; {21726#false} is VALID [2022-04-28 06:20:20,625 INFO L290 TraceCheckUtils]: 91: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,625 INFO L290 TraceCheckUtils]: 90: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,625 INFO L290 TraceCheckUtils]: 89: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,625 INFO L272 TraceCheckUtils]: 88: Hoare triple {21726#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,625 INFO L290 TraceCheckUtils]: 87: Hoare triple {21726#false} assume !(#t~post7 < 100);havoc #t~post7; {21726#false} is VALID [2022-04-28 06:20:20,625 INFO L290 TraceCheckUtils]: 86: Hoare triple {21726#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21726#false} is VALID [2022-04-28 06:20:20,625 INFO L290 TraceCheckUtils]: 85: Hoare triple {22057#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {21726#false} is VALID [2022-04-28 06:20:20,625 INFO L290 TraceCheckUtils]: 84: Hoare triple {22061#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22057#(< |main_#t~post6| 100)} is VALID [2022-04-28 06:20:20,626 INFO L290 TraceCheckUtils]: 83: Hoare triple {22061#(< ~counter~0 100)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22061#(< ~counter~0 100)} is VALID [2022-04-28 06:20:20,626 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {21725#true} {22061#(< ~counter~0 100)} #86#return; {22061#(< ~counter~0 100)} is VALID [2022-04-28 06:20:20,626 INFO L290 TraceCheckUtils]: 81: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,626 INFO L290 TraceCheckUtils]: 80: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,626 INFO L290 TraceCheckUtils]: 79: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,626 INFO L272 TraceCheckUtils]: 78: Hoare triple {22061#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,627 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {21725#true} {22061#(< ~counter~0 100)} #84#return; {22061#(< ~counter~0 100)} is VALID [2022-04-28 06:20:20,627 INFO L290 TraceCheckUtils]: 76: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,627 INFO L290 TraceCheckUtils]: 75: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,627 INFO L290 TraceCheckUtils]: 74: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,627 INFO L272 TraceCheckUtils]: 73: Hoare triple {22061#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,627 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {21725#true} {22061#(< ~counter~0 100)} #82#return; {22061#(< ~counter~0 100)} is VALID [2022-04-28 06:20:20,627 INFO L290 TraceCheckUtils]: 71: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,627 INFO L290 TraceCheckUtils]: 70: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,627 INFO L290 TraceCheckUtils]: 69: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,627 INFO L272 TraceCheckUtils]: 68: Hoare triple {22061#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,628 INFO L290 TraceCheckUtils]: 67: Hoare triple {22061#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {22061#(< ~counter~0 100)} is VALID [2022-04-28 06:20:20,628 INFO L290 TraceCheckUtils]: 66: Hoare triple {22116#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22061#(< ~counter~0 100)} is VALID [2022-04-28 06:20:20,629 INFO L290 TraceCheckUtils]: 65: Hoare triple {22116#(< ~counter~0 99)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22116#(< ~counter~0 99)} is VALID [2022-04-28 06:20:20,629 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {21725#true} {22116#(< ~counter~0 99)} #86#return; {22116#(< ~counter~0 99)} is VALID [2022-04-28 06:20:20,629 INFO L290 TraceCheckUtils]: 63: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,629 INFO L290 TraceCheckUtils]: 62: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,629 INFO L290 TraceCheckUtils]: 61: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,629 INFO L272 TraceCheckUtils]: 60: Hoare triple {22116#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,630 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21725#true} {22116#(< ~counter~0 99)} #84#return; {22116#(< ~counter~0 99)} is VALID [2022-04-28 06:20:20,630 INFO L290 TraceCheckUtils]: 58: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,630 INFO L290 TraceCheckUtils]: 57: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,630 INFO L290 TraceCheckUtils]: 56: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,630 INFO L272 TraceCheckUtils]: 55: Hoare triple {22116#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,630 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {21725#true} {22116#(< ~counter~0 99)} #82#return; {22116#(< ~counter~0 99)} is VALID [2022-04-28 06:20:20,630 INFO L290 TraceCheckUtils]: 53: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,630 INFO L290 TraceCheckUtils]: 52: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,630 INFO L290 TraceCheckUtils]: 51: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,630 INFO L272 TraceCheckUtils]: 50: Hoare triple {22116#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,635 INFO L290 TraceCheckUtils]: 49: Hoare triple {22116#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {22116#(< ~counter~0 99)} is VALID [2022-04-28 06:20:20,636 INFO L290 TraceCheckUtils]: 48: Hoare triple {22171#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22116#(< ~counter~0 99)} is VALID [2022-04-28 06:20:20,636 INFO L290 TraceCheckUtils]: 47: Hoare triple {22171#(< ~counter~0 98)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22171#(< ~counter~0 98)} is VALID [2022-04-28 06:20:20,636 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {21725#true} {22171#(< ~counter~0 98)} #86#return; {22171#(< ~counter~0 98)} is VALID [2022-04-28 06:20:20,636 INFO L290 TraceCheckUtils]: 45: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,637 INFO L290 TraceCheckUtils]: 44: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,637 INFO L290 TraceCheckUtils]: 43: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,637 INFO L272 TraceCheckUtils]: 42: Hoare triple {22171#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,637 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21725#true} {22171#(< ~counter~0 98)} #84#return; {22171#(< ~counter~0 98)} is VALID [2022-04-28 06:20:20,637 INFO L290 TraceCheckUtils]: 40: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,637 INFO L290 TraceCheckUtils]: 39: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,637 INFO L290 TraceCheckUtils]: 38: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,637 INFO L272 TraceCheckUtils]: 37: Hoare triple {22171#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,638 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {21725#true} {22171#(< ~counter~0 98)} #82#return; {22171#(< ~counter~0 98)} is VALID [2022-04-28 06:20:20,638 INFO L290 TraceCheckUtils]: 35: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,638 INFO L290 TraceCheckUtils]: 34: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,638 INFO L290 TraceCheckUtils]: 33: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,638 INFO L272 TraceCheckUtils]: 32: Hoare triple {22171#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,638 INFO L290 TraceCheckUtils]: 31: Hoare triple {22171#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {22171#(< ~counter~0 98)} is VALID [2022-04-28 06:20:20,639 INFO L290 TraceCheckUtils]: 30: Hoare triple {22226#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22171#(< ~counter~0 98)} is VALID [2022-04-28 06:20:20,639 INFO L290 TraceCheckUtils]: 29: Hoare triple {22226#(< ~counter~0 97)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22226#(< ~counter~0 97)} is VALID [2022-04-28 06:20:20,639 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {21725#true} {22226#(< ~counter~0 97)} #86#return; {22226#(< ~counter~0 97)} is VALID [2022-04-28 06:20:20,639 INFO L290 TraceCheckUtils]: 27: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,639 INFO L290 TraceCheckUtils]: 26: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,639 INFO L290 TraceCheckUtils]: 25: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,639 INFO L272 TraceCheckUtils]: 24: Hoare triple {22226#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,640 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21725#true} {22226#(< ~counter~0 97)} #84#return; {22226#(< ~counter~0 97)} is VALID [2022-04-28 06:20:20,640 INFO L290 TraceCheckUtils]: 22: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,640 INFO L290 TraceCheckUtils]: 21: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,640 INFO L290 TraceCheckUtils]: 20: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,640 INFO L272 TraceCheckUtils]: 19: Hoare triple {22226#(< ~counter~0 97)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,640 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {21725#true} {22226#(< ~counter~0 97)} #82#return; {22226#(< ~counter~0 97)} is VALID [2022-04-28 06:20:20,640 INFO L290 TraceCheckUtils]: 17: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,640 INFO L290 TraceCheckUtils]: 16: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,641 INFO L290 TraceCheckUtils]: 15: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,641 INFO L272 TraceCheckUtils]: 14: Hoare triple {22226#(< ~counter~0 97)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,641 INFO L290 TraceCheckUtils]: 13: Hoare triple {22226#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {22226#(< ~counter~0 97)} is VALID [2022-04-28 06:20:20,641 INFO L290 TraceCheckUtils]: 12: Hoare triple {22281#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22226#(< ~counter~0 97)} is VALID [2022-04-28 06:20:20,642 INFO L290 TraceCheckUtils]: 11: Hoare triple {22281#(< ~counter~0 96)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {22281#(< ~counter~0 96)} is VALID [2022-04-28 06:20:20,642 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21725#true} {22281#(< ~counter~0 96)} #80#return; {22281#(< ~counter~0 96)} is VALID [2022-04-28 06:20:20,642 INFO L290 TraceCheckUtils]: 9: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-28 06:20:20,642 INFO L290 TraceCheckUtils]: 8: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-28 06:20:20,642 INFO L290 TraceCheckUtils]: 7: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-28 06:20:20,642 INFO L272 TraceCheckUtils]: 6: Hoare triple {22281#(< ~counter~0 96)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {21725#true} is VALID [2022-04-28 06:20:20,642 INFO L290 TraceCheckUtils]: 5: Hoare triple {22281#(< ~counter~0 96)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {22281#(< ~counter~0 96)} is VALID [2022-04-28 06:20:20,643 INFO L272 TraceCheckUtils]: 4: Hoare triple {22281#(< ~counter~0 96)} call #t~ret8 := main(); {22281#(< ~counter~0 96)} is VALID [2022-04-28 06:20:20,643 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22281#(< ~counter~0 96)} {21725#true} #96#return; {22281#(< ~counter~0 96)} is VALID [2022-04-28 06:20:20,643 INFO L290 TraceCheckUtils]: 2: Hoare triple {22281#(< ~counter~0 96)} assume true; {22281#(< ~counter~0 96)} is VALID [2022-04-28 06:20:20,644 INFO L290 TraceCheckUtils]: 1: Hoare triple {21725#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);~counter~0 := 0; {22281#(< ~counter~0 96)} is VALID [2022-04-28 06:20:20,644 INFO L272 TraceCheckUtils]: 0: Hoare triple {21725#true} call ULTIMATE.init(); {21725#true} is VALID [2022-04-28 06:20:20,644 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 26 proven. 44 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 06:20:20,644 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:20:20,644 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2092284643] [2022-04-28 06:20:20,644 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:20:20,644 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [414803470] [2022-04-28 06:20:20,644 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [414803470] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:20:20,644 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:20:20,644 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 06:20:20,644 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:20:20,645 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1559865871] [2022-04-28 06:20:20,645 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1559865871] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:20:20,645 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:20:20,645 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 06:20:20,645 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1414199930] [2022-04-28 06:20:20,645 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:20:20,645 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 97 [2022-04-28 06:20:20,645 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:20:20,645 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:20:20,698 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:20,698 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 06:20:20,698 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:20,699 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 06:20:20,699 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:20:20,699 INFO L87 Difference]: Start difference. First operand 180 states and 207 transitions. Second operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:20:21,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:21,132 INFO L93 Difference]: Finished difference Result 225 states and 269 transitions. [2022-04-28 06:20:21,132 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 06:20:21,132 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 97 [2022-04-28 06:20:21,132 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:20:21,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:20:21,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 123 transitions. [2022-04-28 06:20:21,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:20:21,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 123 transitions. [2022-04-28 06:20:21,135 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 123 transitions. [2022-04-28 06:20:21,255 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:21,257 INFO L225 Difference]: With dead ends: 225 [2022-04-28 06:20:21,257 INFO L226 Difference]: Without dead ends: 182 [2022-04-28 06:20:21,258 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 181 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:20:21,258 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 15 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 188 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:20:21,258 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 188 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:20:21,262 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-28 06:20:21,438 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2022-04-28 06:20:21,438 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:20:21,439 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 06:20:21,439 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 06:20:21,440 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 06:20:21,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:21,442 INFO L93 Difference]: Finished difference Result 182 states and 209 transitions. [2022-04-28 06:20:21,442 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 209 transitions. [2022-04-28 06:20:21,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:21,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:21,443 INFO L74 IsIncluded]: Start isIncluded. First operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 182 states. [2022-04-28 06:20:21,443 INFO L87 Difference]: Start difference. First operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 182 states. [2022-04-28 06:20:21,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:21,445 INFO L93 Difference]: Finished difference Result 182 states and 209 transitions. [2022-04-28 06:20:21,445 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 209 transitions. [2022-04-28 06:20:21,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:21,446 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:21,446 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:20:21,446 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:20:21,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 06:20:21,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 209 transitions. [2022-04-28 06:20:21,448 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 209 transitions. Word has length 97 [2022-04-28 06:20:21,448 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:20:21,449 INFO L495 AbstractCegarLoop]: Abstraction has 182 states and 209 transitions. [2022-04-28 06:20:21,449 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:20:21,449 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 182 states and 209 transitions. [2022-04-28 06:20:23,759 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 208 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:23,759 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 209 transitions. [2022-04-28 06:20:23,759 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 06:20:23,759 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:20:23,759 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 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] [2022-04-28 06:20:23,777 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 06:20:23,960 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:20:23,960 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:20:23,960 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:20:23,960 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 5 times [2022-04-28 06:20:23,960 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:23,960 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1336298350] [2022-04-28 06:20:27,510 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:20:27,510 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:20:27,521 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:20:27,521 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 6 times [2022-04-28 06:20:27,522 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:20:27,522 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [686372] [2022-04-28 06:20:27,522 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:20:27,522 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:20:27,539 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:20:27,539 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1420647187] [2022-04-28 06:20:27,539 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:20:27,539 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:20:27,539 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:20:27,540 INFO L229 MonitoredProcess]: Starting monitored process 21 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:27,541 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 06:20:27,678 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 06:20:27,678 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:20:27,679 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 06:20:27,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:20:27,704 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:20:28,048 INFO L272 TraceCheckUtils]: 0: Hoare triple {23506#true} call ULTIMATE.init(); {23506#true} is VALID [2022-04-28 06:20:28,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {23506#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);~counter~0 := 0; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {23514#(<= ~counter~0 0)} assume true; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,049 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23514#(<= ~counter~0 0)} {23506#true} #96#return; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,049 INFO L272 TraceCheckUtils]: 4: Hoare triple {23514#(<= ~counter~0 0)} call #t~ret8 := main(); {23514#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {23514#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,050 INFO L272 TraceCheckUtils]: 6: Hoare triple {23514#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {23514#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {23514#(<= ~counter~0 0)} ~cond := #in~cond; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,050 INFO L290 TraceCheckUtils]: 8: Hoare triple {23514#(<= ~counter~0 0)} assume !(0 == ~cond); {23514#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {23514#(<= ~counter~0 0)} assume true; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,051 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23514#(<= ~counter~0 0)} {23514#(<= ~counter~0 0)} #80#return; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,051 INFO L290 TraceCheckUtils]: 11: Hoare triple {23514#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {23514#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,052 INFO L290 TraceCheckUtils]: 12: Hoare triple {23514#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,052 INFO L290 TraceCheckUtils]: 13: Hoare triple {23548#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,052 INFO L272 TraceCheckUtils]: 14: Hoare triple {23548#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,053 INFO L290 TraceCheckUtils]: 15: Hoare triple {23548#(<= ~counter~0 1)} ~cond := #in~cond; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,053 INFO L290 TraceCheckUtils]: 16: Hoare triple {23548#(<= ~counter~0 1)} assume !(0 == ~cond); {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,053 INFO L290 TraceCheckUtils]: 17: Hoare triple {23548#(<= ~counter~0 1)} assume true; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,054 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {23548#(<= ~counter~0 1)} {23548#(<= ~counter~0 1)} #82#return; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,054 INFO L272 TraceCheckUtils]: 19: Hoare triple {23548#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,054 INFO L290 TraceCheckUtils]: 20: Hoare triple {23548#(<= ~counter~0 1)} ~cond := #in~cond; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,054 INFO L290 TraceCheckUtils]: 21: Hoare triple {23548#(<= ~counter~0 1)} assume !(0 == ~cond); {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,055 INFO L290 TraceCheckUtils]: 22: Hoare triple {23548#(<= ~counter~0 1)} assume true; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,055 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23548#(<= ~counter~0 1)} {23548#(<= ~counter~0 1)} #84#return; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,055 INFO L272 TraceCheckUtils]: 24: Hoare triple {23548#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,056 INFO L290 TraceCheckUtils]: 25: Hoare triple {23548#(<= ~counter~0 1)} ~cond := #in~cond; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,056 INFO L290 TraceCheckUtils]: 26: Hoare triple {23548#(<= ~counter~0 1)} assume !(0 == ~cond); {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,056 INFO L290 TraceCheckUtils]: 27: Hoare triple {23548#(<= ~counter~0 1)} assume true; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,057 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23548#(<= ~counter~0 1)} {23548#(<= ~counter~0 1)} #86#return; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,057 INFO L290 TraceCheckUtils]: 29: Hoare triple {23548#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23548#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,057 INFO L290 TraceCheckUtils]: 30: Hoare triple {23548#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {23603#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,058 INFO L272 TraceCheckUtils]: 32: Hoare triple {23603#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,058 INFO L290 TraceCheckUtils]: 33: Hoare triple {23603#(<= ~counter~0 2)} ~cond := #in~cond; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,058 INFO L290 TraceCheckUtils]: 34: Hoare triple {23603#(<= ~counter~0 2)} assume !(0 == ~cond); {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,059 INFO L290 TraceCheckUtils]: 35: Hoare triple {23603#(<= ~counter~0 2)} assume true; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,059 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {23603#(<= ~counter~0 2)} {23603#(<= ~counter~0 2)} #82#return; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,059 INFO L272 TraceCheckUtils]: 37: Hoare triple {23603#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,059 INFO L290 TraceCheckUtils]: 38: Hoare triple {23603#(<= ~counter~0 2)} ~cond := #in~cond; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,060 INFO L290 TraceCheckUtils]: 39: Hoare triple {23603#(<= ~counter~0 2)} assume !(0 == ~cond); {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,060 INFO L290 TraceCheckUtils]: 40: Hoare triple {23603#(<= ~counter~0 2)} assume true; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,060 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23603#(<= ~counter~0 2)} {23603#(<= ~counter~0 2)} #84#return; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,061 INFO L272 TraceCheckUtils]: 42: Hoare triple {23603#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,061 INFO L290 TraceCheckUtils]: 43: Hoare triple {23603#(<= ~counter~0 2)} ~cond := #in~cond; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,061 INFO L290 TraceCheckUtils]: 44: Hoare triple {23603#(<= ~counter~0 2)} assume !(0 == ~cond); {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,061 INFO L290 TraceCheckUtils]: 45: Hoare triple {23603#(<= ~counter~0 2)} assume true; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,062 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {23603#(<= ~counter~0 2)} {23603#(<= ~counter~0 2)} #86#return; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,062 INFO L290 TraceCheckUtils]: 47: Hoare triple {23603#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23603#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,063 INFO L290 TraceCheckUtils]: 48: Hoare triple {23603#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,063 INFO L290 TraceCheckUtils]: 49: Hoare triple {23658#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,063 INFO L272 TraceCheckUtils]: 50: Hoare triple {23658#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,063 INFO L290 TraceCheckUtils]: 51: Hoare triple {23658#(<= ~counter~0 3)} ~cond := #in~cond; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,064 INFO L290 TraceCheckUtils]: 52: Hoare triple {23658#(<= ~counter~0 3)} assume !(0 == ~cond); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,064 INFO L290 TraceCheckUtils]: 53: Hoare triple {23658#(<= ~counter~0 3)} assume true; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,064 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {23658#(<= ~counter~0 3)} {23658#(<= ~counter~0 3)} #82#return; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,065 INFO L272 TraceCheckUtils]: 55: Hoare triple {23658#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,065 INFO L290 TraceCheckUtils]: 56: Hoare triple {23658#(<= ~counter~0 3)} ~cond := #in~cond; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,065 INFO L290 TraceCheckUtils]: 57: Hoare triple {23658#(<= ~counter~0 3)} assume !(0 == ~cond); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,065 INFO L290 TraceCheckUtils]: 58: Hoare triple {23658#(<= ~counter~0 3)} assume true; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,066 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {23658#(<= ~counter~0 3)} {23658#(<= ~counter~0 3)} #84#return; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,066 INFO L272 TraceCheckUtils]: 60: Hoare triple {23658#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,066 INFO L290 TraceCheckUtils]: 61: Hoare triple {23658#(<= ~counter~0 3)} ~cond := #in~cond; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,067 INFO L290 TraceCheckUtils]: 62: Hoare triple {23658#(<= ~counter~0 3)} assume !(0 == ~cond); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,067 INFO L290 TraceCheckUtils]: 63: Hoare triple {23658#(<= ~counter~0 3)} assume true; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,067 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {23658#(<= ~counter~0 3)} {23658#(<= ~counter~0 3)} #86#return; {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,068 INFO L290 TraceCheckUtils]: 65: Hoare triple {23658#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {23658#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,068 INFO L290 TraceCheckUtils]: 66: Hoare triple {23658#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,068 INFO L290 TraceCheckUtils]: 67: Hoare triple {23713#(<= ~counter~0 4)} assume !!(#t~post7 < 100);havoc #t~post7; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,069 INFO L272 TraceCheckUtils]: 68: Hoare triple {23713#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,069 INFO L290 TraceCheckUtils]: 69: Hoare triple {23713#(<= ~counter~0 4)} ~cond := #in~cond; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,069 INFO L290 TraceCheckUtils]: 70: Hoare triple {23713#(<= ~counter~0 4)} assume !(0 == ~cond); {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,069 INFO L290 TraceCheckUtils]: 71: Hoare triple {23713#(<= ~counter~0 4)} assume true; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,070 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23713#(<= ~counter~0 4)} {23713#(<= ~counter~0 4)} #88#return; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,070 INFO L272 TraceCheckUtils]: 73: Hoare triple {23713#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,071 INFO L290 TraceCheckUtils]: 74: Hoare triple {23713#(<= ~counter~0 4)} ~cond := #in~cond; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,071 INFO L290 TraceCheckUtils]: 75: Hoare triple {23713#(<= ~counter~0 4)} assume !(0 == ~cond); {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,071 INFO L290 TraceCheckUtils]: 76: Hoare triple {23713#(<= ~counter~0 4)} assume true; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,071 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23713#(<= ~counter~0 4)} {23713#(<= ~counter~0 4)} #90#return; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,072 INFO L290 TraceCheckUtils]: 78: Hoare triple {23713#(<= ~counter~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); {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,072 INFO L290 TraceCheckUtils]: 79: Hoare triple {23713#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23713#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:28,072 INFO L290 TraceCheckUtils]: 80: Hoare triple {23713#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,073 INFO L290 TraceCheckUtils]: 81: Hoare triple {23756#(<= ~counter~0 5)} assume !!(#t~post7 < 100);havoc #t~post7; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,073 INFO L272 TraceCheckUtils]: 82: Hoare triple {23756#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,073 INFO L290 TraceCheckUtils]: 83: Hoare triple {23756#(<= ~counter~0 5)} ~cond := #in~cond; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,074 INFO L290 TraceCheckUtils]: 84: Hoare triple {23756#(<= ~counter~0 5)} assume !(0 == ~cond); {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,074 INFO L290 TraceCheckUtils]: 85: Hoare triple {23756#(<= ~counter~0 5)} assume true; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,074 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {23756#(<= ~counter~0 5)} {23756#(<= ~counter~0 5)} #88#return; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,075 INFO L272 TraceCheckUtils]: 87: Hoare triple {23756#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,075 INFO L290 TraceCheckUtils]: 88: Hoare triple {23756#(<= ~counter~0 5)} ~cond := #in~cond; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,075 INFO L290 TraceCheckUtils]: 89: Hoare triple {23756#(<= ~counter~0 5)} assume !(0 == ~cond); {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,075 INFO L290 TraceCheckUtils]: 90: Hoare triple {23756#(<= ~counter~0 5)} assume true; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,076 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {23756#(<= ~counter~0 5)} {23756#(<= ~counter~0 5)} #90#return; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,076 INFO L290 TraceCheckUtils]: 92: Hoare triple {23756#(<= ~counter~0 5)} 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); {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,076 INFO L290 TraceCheckUtils]: 93: Hoare triple {23756#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23756#(<= ~counter~0 5)} is VALID [2022-04-28 06:20:28,077 INFO L290 TraceCheckUtils]: 94: Hoare triple {23756#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23799#(<= |main_#t~post7| 5)} is VALID [2022-04-28 06:20:28,077 INFO L290 TraceCheckUtils]: 95: Hoare triple {23799#(<= |main_#t~post7| 5)} assume !(#t~post7 < 100);havoc #t~post7; {23507#false} is VALID [2022-04-28 06:20:28,077 INFO L272 TraceCheckUtils]: 96: Hoare triple {23507#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {23507#false} is VALID [2022-04-28 06:20:28,077 INFO L290 TraceCheckUtils]: 97: Hoare triple {23507#false} ~cond := #in~cond; {23507#false} is VALID [2022-04-28 06:20:28,077 INFO L290 TraceCheckUtils]: 98: Hoare triple {23507#false} assume 0 == ~cond; {23507#false} is VALID [2022-04-28 06:20:28,077 INFO L290 TraceCheckUtils]: 99: Hoare triple {23507#false} assume !false; {23507#false} is VALID [2022-04-28 06:20:28,077 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 296 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 06:20:28,077 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:20:28,439 INFO L290 TraceCheckUtils]: 99: Hoare triple {23507#false} assume !false; {23507#false} is VALID [2022-04-28 06:20:28,439 INFO L290 TraceCheckUtils]: 98: Hoare triple {23507#false} assume 0 == ~cond; {23507#false} is VALID [2022-04-28 06:20:28,439 INFO L290 TraceCheckUtils]: 97: Hoare triple {23507#false} ~cond := #in~cond; {23507#false} is VALID [2022-04-28 06:20:28,439 INFO L272 TraceCheckUtils]: 96: Hoare triple {23507#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {23507#false} is VALID [2022-04-28 06:20:28,439 INFO L290 TraceCheckUtils]: 95: Hoare triple {23827#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {23507#false} is VALID [2022-04-28 06:20:28,440 INFO L290 TraceCheckUtils]: 94: Hoare triple {23831#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23827#(< |main_#t~post7| 100)} is VALID [2022-04-28 06:20:28,440 INFO L290 TraceCheckUtils]: 93: Hoare triple {23831#(< ~counter~0 100)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23831#(< ~counter~0 100)} is VALID [2022-04-28 06:20:28,440 INFO L290 TraceCheckUtils]: 92: Hoare triple {23831#(< ~counter~0 100)} 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); {23831#(< ~counter~0 100)} is VALID [2022-04-28 06:20:28,441 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {23506#true} {23831#(< ~counter~0 100)} #90#return; {23831#(< ~counter~0 100)} is VALID [2022-04-28 06:20:28,441 INFO L290 TraceCheckUtils]: 90: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,441 INFO L290 TraceCheckUtils]: 89: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,441 INFO L290 TraceCheckUtils]: 88: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,441 INFO L272 TraceCheckUtils]: 87: Hoare triple {23831#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,441 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {23506#true} {23831#(< ~counter~0 100)} #88#return; {23831#(< ~counter~0 100)} is VALID [2022-04-28 06:20:28,441 INFO L290 TraceCheckUtils]: 85: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,441 INFO L290 TraceCheckUtils]: 84: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,441 INFO L290 TraceCheckUtils]: 83: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,442 INFO L272 TraceCheckUtils]: 82: Hoare triple {23831#(< ~counter~0 100)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,442 INFO L290 TraceCheckUtils]: 81: Hoare triple {23831#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {23831#(< ~counter~0 100)} is VALID [2022-04-28 06:20:28,442 INFO L290 TraceCheckUtils]: 80: Hoare triple {23874#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23831#(< ~counter~0 100)} is VALID [2022-04-28 06:20:28,443 INFO L290 TraceCheckUtils]: 79: Hoare triple {23874#(< ~counter~0 99)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23874#(< ~counter~0 99)} is VALID [2022-04-28 06:20:28,443 INFO L290 TraceCheckUtils]: 78: Hoare triple {23874#(< ~counter~0 99)} 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); {23874#(< ~counter~0 99)} is VALID [2022-04-28 06:20:28,443 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23506#true} {23874#(< ~counter~0 99)} #90#return; {23874#(< ~counter~0 99)} is VALID [2022-04-28 06:20:28,443 INFO L290 TraceCheckUtils]: 76: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,444 INFO L290 TraceCheckUtils]: 75: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,444 INFO L290 TraceCheckUtils]: 74: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,444 INFO L272 TraceCheckUtils]: 73: Hoare triple {23874#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,444 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23506#true} {23874#(< ~counter~0 99)} #88#return; {23874#(< ~counter~0 99)} is VALID [2022-04-28 06:20:28,444 INFO L290 TraceCheckUtils]: 71: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,444 INFO L290 TraceCheckUtils]: 70: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,444 INFO L290 TraceCheckUtils]: 69: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,444 INFO L272 TraceCheckUtils]: 68: Hoare triple {23874#(< ~counter~0 99)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,445 INFO L290 TraceCheckUtils]: 67: Hoare triple {23874#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {23874#(< ~counter~0 99)} is VALID [2022-04-28 06:20:28,445 INFO L290 TraceCheckUtils]: 66: Hoare triple {23917#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23874#(< ~counter~0 99)} is VALID [2022-04-28 06:20:28,445 INFO L290 TraceCheckUtils]: 65: Hoare triple {23917#(< ~counter~0 98)} assume !(~r~0 >= ~d~0); {23917#(< ~counter~0 98)} is VALID [2022-04-28 06:20:28,446 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {23506#true} {23917#(< ~counter~0 98)} #86#return; {23917#(< ~counter~0 98)} is VALID [2022-04-28 06:20:28,446 INFO L290 TraceCheckUtils]: 63: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,446 INFO L290 TraceCheckUtils]: 62: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,446 INFO L290 TraceCheckUtils]: 61: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,446 INFO L272 TraceCheckUtils]: 60: Hoare triple {23917#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,446 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {23506#true} {23917#(< ~counter~0 98)} #84#return; {23917#(< ~counter~0 98)} is VALID [2022-04-28 06:20:28,446 INFO L290 TraceCheckUtils]: 58: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,446 INFO L290 TraceCheckUtils]: 57: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,446 INFO L290 TraceCheckUtils]: 56: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,447 INFO L272 TraceCheckUtils]: 55: Hoare triple {23917#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,447 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {23506#true} {23917#(< ~counter~0 98)} #82#return; {23917#(< ~counter~0 98)} is VALID [2022-04-28 06:20:28,447 INFO L290 TraceCheckUtils]: 53: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,447 INFO L290 TraceCheckUtils]: 52: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,447 INFO L290 TraceCheckUtils]: 51: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,447 INFO L272 TraceCheckUtils]: 50: Hoare triple {23917#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,447 INFO L290 TraceCheckUtils]: 49: Hoare triple {23917#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {23917#(< ~counter~0 98)} is VALID [2022-04-28 06:20:28,448 INFO L290 TraceCheckUtils]: 48: Hoare triple {23972#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23917#(< ~counter~0 98)} is VALID [2022-04-28 06:20:28,448 INFO L290 TraceCheckUtils]: 47: Hoare triple {23972#(< ~counter~0 97)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23972#(< ~counter~0 97)} is VALID [2022-04-28 06:20:28,448 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {23506#true} {23972#(< ~counter~0 97)} #86#return; {23972#(< ~counter~0 97)} is VALID [2022-04-28 06:20:28,449 INFO L290 TraceCheckUtils]: 45: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,449 INFO L290 TraceCheckUtils]: 44: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,449 INFO L290 TraceCheckUtils]: 43: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,449 INFO L272 TraceCheckUtils]: 42: Hoare triple {23972#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,449 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23506#true} {23972#(< ~counter~0 97)} #84#return; {23972#(< ~counter~0 97)} is VALID [2022-04-28 06:20:28,449 INFO L290 TraceCheckUtils]: 40: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,449 INFO L290 TraceCheckUtils]: 39: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,449 INFO L290 TraceCheckUtils]: 38: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,449 INFO L272 TraceCheckUtils]: 37: Hoare triple {23972#(< ~counter~0 97)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,450 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {23506#true} {23972#(< ~counter~0 97)} #82#return; {23972#(< ~counter~0 97)} is VALID [2022-04-28 06:20:28,450 INFO L290 TraceCheckUtils]: 35: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,450 INFO L290 TraceCheckUtils]: 34: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,450 INFO L290 TraceCheckUtils]: 33: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,450 INFO L272 TraceCheckUtils]: 32: Hoare triple {23972#(< ~counter~0 97)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,450 INFO L290 TraceCheckUtils]: 31: Hoare triple {23972#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {23972#(< ~counter~0 97)} is VALID [2022-04-28 06:20:28,451 INFO L290 TraceCheckUtils]: 30: Hoare triple {24027#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23972#(< ~counter~0 97)} is VALID [2022-04-28 06:20:28,451 INFO L290 TraceCheckUtils]: 29: Hoare triple {24027#(< ~counter~0 96)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {24027#(< ~counter~0 96)} is VALID [2022-04-28 06:20:28,451 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23506#true} {24027#(< ~counter~0 96)} #86#return; {24027#(< ~counter~0 96)} is VALID [2022-04-28 06:20:28,451 INFO L290 TraceCheckUtils]: 27: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,451 INFO L290 TraceCheckUtils]: 26: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,451 INFO L290 TraceCheckUtils]: 25: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,451 INFO L272 TraceCheckUtils]: 24: Hoare triple {24027#(< ~counter~0 96)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,452 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23506#true} {24027#(< ~counter~0 96)} #84#return; {24027#(< ~counter~0 96)} is VALID [2022-04-28 06:20:28,452 INFO L290 TraceCheckUtils]: 22: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,452 INFO L290 TraceCheckUtils]: 21: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,452 INFO L290 TraceCheckUtils]: 20: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,452 INFO L272 TraceCheckUtils]: 19: Hoare triple {24027#(< ~counter~0 96)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,452 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {23506#true} {24027#(< ~counter~0 96)} #82#return; {24027#(< ~counter~0 96)} is VALID [2022-04-28 06:20:28,452 INFO L290 TraceCheckUtils]: 17: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,453 INFO L290 TraceCheckUtils]: 16: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,453 INFO L290 TraceCheckUtils]: 15: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,453 INFO L272 TraceCheckUtils]: 14: Hoare triple {24027#(< ~counter~0 96)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,453 INFO L290 TraceCheckUtils]: 13: Hoare triple {24027#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {24027#(< ~counter~0 96)} is VALID [2022-04-28 06:20:28,453 INFO L290 TraceCheckUtils]: 12: Hoare triple {24082#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24027#(< ~counter~0 96)} is VALID [2022-04-28 06:20:28,454 INFO L290 TraceCheckUtils]: 11: Hoare triple {24082#(< ~counter~0 95)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {24082#(< ~counter~0 95)} is VALID [2022-04-28 06:20:28,454 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23506#true} {24082#(< ~counter~0 95)} #80#return; {24082#(< ~counter~0 95)} is VALID [2022-04-28 06:20:28,454 INFO L290 TraceCheckUtils]: 9: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-28 06:20:28,454 INFO L290 TraceCheckUtils]: 8: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-28 06:20:28,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-28 06:20:28,454 INFO L272 TraceCheckUtils]: 6: Hoare triple {24082#(< ~counter~0 95)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {23506#true} is VALID [2022-04-28 06:20:28,454 INFO L290 TraceCheckUtils]: 5: Hoare triple {24082#(< ~counter~0 95)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {24082#(< ~counter~0 95)} is VALID [2022-04-28 06:20:28,455 INFO L272 TraceCheckUtils]: 4: Hoare triple {24082#(< ~counter~0 95)} call #t~ret8 := main(); {24082#(< ~counter~0 95)} is VALID [2022-04-28 06:20:28,455 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24082#(< ~counter~0 95)} {23506#true} #96#return; {24082#(< ~counter~0 95)} is VALID [2022-04-28 06:20:28,455 INFO L290 TraceCheckUtils]: 2: Hoare triple {24082#(< ~counter~0 95)} assume true; {24082#(< ~counter~0 95)} is VALID [2022-04-28 06:20:28,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {23506#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);~counter~0 := 0; {24082#(< ~counter~0 95)} is VALID [2022-04-28 06:20:28,456 INFO L272 TraceCheckUtils]: 0: Hoare triple {23506#true} call ULTIMATE.init(); {23506#true} is VALID [2022-04-28 06:20:28,456 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 28 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 06:20:28,456 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:20:28,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [686372] [2022-04-28 06:20:28,456 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:20:28,456 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1420647187] [2022-04-28 06:20:28,456 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1420647187] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:20:28,456 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:20:28,456 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 06:20:28,457 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:20:28,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1336298350] [2022-04-28 06:20:28,457 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1336298350] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:20:28,457 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:20:28,457 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 06:20:28,457 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [68954008] [2022-04-28 06:20:28,457 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:20:28,457 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 100 [2022-04-28 06:20:28,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:20:28,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:20:28,516 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:28,516 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 06:20:28,516 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:28,516 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 06:20:28,516 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 06:20:28,517 INFO L87 Difference]: Start difference. First operand 182 states and 209 transitions. Second operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:20:29,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:29,208 INFO L93 Difference]: Finished difference Result 243 states and 275 transitions. [2022-04-28 06:20:29,208 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 06:20:29,209 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 100 [2022-04-28 06:20:29,209 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:20:29,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:20:29,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 140 transitions. [2022-04-28 06:20:29,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:20:29,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 140 transitions. [2022-04-28 06:20:29,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 140 transitions. [2022-04-28 06:20:29,331 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:29,334 INFO L225 Difference]: With dead ends: 243 [2022-04-28 06:20:29,334 INFO L226 Difference]: Without dead ends: 227 [2022-04-28 06:20:29,334 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 185 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=120, Invalid=186, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:20:29,335 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 44 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 88 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 228 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 88 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:20:29,335 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 228 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 88 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:20:29,335 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-04-28 06:20:29,559 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 224. [2022-04-28 06:20:29,559 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:20:29,560 INFO L82 GeneralOperation]: Start isEquivalent. First operand 227 states. Second operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 06:20:29,560 INFO L74 IsIncluded]: Start isIncluded. First operand 227 states. Second operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 06:20:29,560 INFO L87 Difference]: Start difference. First operand 227 states. Second operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 06:20:29,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:29,563 INFO L93 Difference]: Finished difference Result 227 states and 254 transitions. [2022-04-28 06:20:29,563 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 254 transitions. [2022-04-28 06:20:29,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:29,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:29,564 INFO L74 IsIncluded]: Start isIncluded. First operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 227 states. [2022-04-28 06:20:29,564 INFO L87 Difference]: Start difference. First operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 227 states. [2022-04-28 06:20:29,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:29,566 INFO L93 Difference]: Finished difference Result 227 states and 254 transitions. [2022-04-28 06:20:29,566 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 254 transitions. [2022-04-28 06:20:29,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:29,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:29,567 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:20:29,567 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:20:29,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 06:20:29,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 252 transitions. [2022-04-28 06:20:29,570 INFO L78 Accepts]: Start accepts. Automaton has 224 states and 252 transitions. Word has length 100 [2022-04-28 06:20:29,570 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:20:29,571 INFO L495 AbstractCegarLoop]: Abstraction has 224 states and 252 transitions. [2022-04-28 06:20:29,571 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:20:29,571 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 224 states and 252 transitions. [2022-04-28 06:20:31,906 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 252 edges. 251 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:31,906 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 252 transitions. [2022-04-28 06:20:31,907 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 06:20:31,907 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:20:31,907 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 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] [2022-04-28 06:20:31,923 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 06:20:32,119 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-28 06:20:32,119 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:20:32,120 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:20:32,120 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 11 times [2022-04-28 06:20:32,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:32,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1111377991] [2022-04-28 06:20:37,551 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:20:37,551 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:20:37,551 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:20:37,551 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 12 times [2022-04-28 06:20:37,551 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:20:37,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2116715908] [2022-04-28 06:20:37,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:20:37,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:20:37,561 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:20:37,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [987555348] [2022-04-28 06:20:37,561 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:20:37,561 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:20:37,561 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:20:37,562 INFO L229 MonitoredProcess]: Starting monitored process 22 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:37,563 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 06:20:37,685 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 06:20:37,686 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:20:37,687 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 06:20:37,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:20:37,713 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:20:39,530 INFO L272 TraceCheckUtils]: 0: Hoare triple {25513#true} call ULTIMATE.init(); {25513#true} is VALID [2022-04-28 06:20:39,530 INFO L290 TraceCheckUtils]: 1: Hoare triple {25513#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);~counter~0 := 0; {25513#true} is VALID [2022-04-28 06:20:39,531 INFO L290 TraceCheckUtils]: 2: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,531 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25513#true} {25513#true} #96#return; {25513#true} is VALID [2022-04-28 06:20:39,531 INFO L272 TraceCheckUtils]: 4: Hoare triple {25513#true} call #t~ret8 := main(); {25513#true} is VALID [2022-04-28 06:20:39,531 INFO L290 TraceCheckUtils]: 5: Hoare triple {25513#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;~B~0 := #t~nondet5;havoc #t~nondet5; {25513#true} is VALID [2022-04-28 06:20:39,531 INFO L272 TraceCheckUtils]: 6: Hoare triple {25513#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:20:39,531 INFO L290 TraceCheckUtils]: 7: Hoare triple {25513#true} ~cond := #in~cond; {25539#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:20:39,531 INFO L290 TraceCheckUtils]: 8: Hoare triple {25539#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {25543#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:20:39,532 INFO L290 TraceCheckUtils]: 9: Hoare triple {25543#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {25543#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:20:39,532 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25543#(not (= |assume_abort_if_not_#in~cond| 0))} {25513#true} #80#return; {25550#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:20:39,532 INFO L290 TraceCheckUtils]: 11: Hoare triple {25550#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:20:39,533 INFO L290 TraceCheckUtils]: 12: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:20:39,533 INFO L290 TraceCheckUtils]: 13: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:20:39,533 INFO L272 TraceCheckUtils]: 14: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:20:39,533 INFO L290 TraceCheckUtils]: 15: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:20:39,533 INFO L290 TraceCheckUtils]: 16: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:20:39,533 INFO L290 TraceCheckUtils]: 17: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,534 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {25513#true} {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:20:39,534 INFO L272 TraceCheckUtils]: 19: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (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)); {25513#true} is VALID [2022-04-28 06:20:39,534 INFO L290 TraceCheckUtils]: 20: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:20:39,534 INFO L290 TraceCheckUtils]: 21: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:20:39,534 INFO L290 TraceCheckUtils]: 22: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,534 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25513#true} {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:20:39,535 INFO L272 TraceCheckUtils]: 24: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (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)); {25513#true} is VALID [2022-04-28 06:20:39,535 INFO L290 TraceCheckUtils]: 25: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:20:39,535 INFO L290 TraceCheckUtils]: 26: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:20:39,535 INFO L290 TraceCheckUtils]: 27: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,535 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25513#true} {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:20:39,536 INFO L290 TraceCheckUtils]: 29: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (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; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:20:39,537 INFO L290 TraceCheckUtils]: 30: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:20:39,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:20:39,537 INFO L272 TraceCheckUtils]: 32: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:20:39,537 INFO L290 TraceCheckUtils]: 33: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:20:39,537 INFO L290 TraceCheckUtils]: 34: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:20:39,537 INFO L290 TraceCheckUtils]: 35: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,538 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {25513#true} {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:20:39,538 INFO L272 TraceCheckUtils]: 37: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:20:39,538 INFO L290 TraceCheckUtils]: 38: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:20:39,538 INFO L290 TraceCheckUtils]: 39: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:20:39,538 INFO L290 TraceCheckUtils]: 40: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,538 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {25513#true} {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:20:39,538 INFO L272 TraceCheckUtils]: 42: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:20:39,539 INFO L290 TraceCheckUtils]: 43: Hoare triple {25513#true} ~cond := #in~cond; {25652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:20:39,539 INFO L290 TraceCheckUtils]: 44: Hoare triple {25652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:20:39,539 INFO L290 TraceCheckUtils]: 45: Hoare triple {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:20:39,540 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:20:39,541 INFO L290 TraceCheckUtils]: 47: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:39,541 INFO L290 TraceCheckUtils]: 48: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:39,542 INFO L290 TraceCheckUtils]: 49: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 100);havoc #t~post6; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:39,542 INFO L272 TraceCheckUtils]: 50: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:20:39,542 INFO L290 TraceCheckUtils]: 51: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:20:39,542 INFO L290 TraceCheckUtils]: 52: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:20:39,542 INFO L290 TraceCheckUtils]: 53: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,542 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:39,542 INFO L272 TraceCheckUtils]: 55: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:20:39,542 INFO L290 TraceCheckUtils]: 56: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:20:39,543 INFO L290 TraceCheckUtils]: 57: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:20:39,543 INFO L290 TraceCheckUtils]: 58: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,543 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:39,543 INFO L272 TraceCheckUtils]: 60: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:20:39,543 INFO L290 TraceCheckUtils]: 61: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:20:39,543 INFO L290 TraceCheckUtils]: 62: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:20:39,543 INFO L290 TraceCheckUtils]: 63: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,544 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:39,544 INFO L290 TraceCheckUtils]: 65: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:39,544 INFO L290 TraceCheckUtils]: 66: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:39,545 INFO L290 TraceCheckUtils]: 67: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post7 < 100);havoc #t~post7; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:39,545 INFO L272 TraceCheckUtils]: 68: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= 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)); {25513#true} is VALID [2022-04-28 06:20:39,545 INFO L290 TraceCheckUtils]: 69: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:20:39,545 INFO L290 TraceCheckUtils]: 70: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:20:39,545 INFO L290 TraceCheckUtils]: 71: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,546 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #88#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:39,546 INFO L272 TraceCheckUtils]: 73: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:20:39,546 INFO L290 TraceCheckUtils]: 74: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:20:39,546 INFO L290 TraceCheckUtils]: 75: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:20:39,546 INFO L290 TraceCheckUtils]: 76: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,546 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #90#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:20:39,548 INFO L290 TraceCheckUtils]: 78: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= 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); {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:20:39,549 INFO L290 TraceCheckUtils]: 79: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (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; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:20:39,549 INFO L290 TraceCheckUtils]: 80: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:20:39,550 INFO L290 TraceCheckUtils]: 81: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 100);havoc #t~post7; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:20:39,550 INFO L272 TraceCheckUtils]: 82: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:20:39,550 INFO L290 TraceCheckUtils]: 83: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:20:39,550 INFO L290 TraceCheckUtils]: 84: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:20:39,550 INFO L290 TraceCheckUtils]: 85: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,550 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25513#true} {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #88#return; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:20:39,550 INFO L272 TraceCheckUtils]: 87: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:20:39,550 INFO L290 TraceCheckUtils]: 88: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:20:39,551 INFO L290 TraceCheckUtils]: 89: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:20:39,551 INFO L290 TraceCheckUtils]: 90: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:20:39,553 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {25513#true} {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #90#return; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:20:39,554 INFO L290 TraceCheckUtils]: 92: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (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); {25803#(and (= main_~p~0 (div main_~q~0 2)) (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 2) (<= 1 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 2 (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:20:39,555 INFO L290 TraceCheckUtils]: 93: Hoare triple {25803#(and (= main_~p~0 (div main_~q~0 2)) (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 2) (<= 1 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 2 (mod main_~B~0 4294967296)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-28 06:20:39,556 INFO L290 TraceCheckUtils]: 94: Hoare triple {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-28 06:20:39,556 INFO L290 TraceCheckUtils]: 95: Hoare triple {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} assume !!(#t~post7 < 100);havoc #t~post7; {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-28 06:20:39,557 INFO L272 TraceCheckUtils]: 96: Hoare triple {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {25817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:20:39,557 INFO L290 TraceCheckUtils]: 97: Hoare triple {25817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:20:39,557 INFO L290 TraceCheckUtils]: 98: Hoare triple {25821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25514#false} is VALID [2022-04-28 06:20:39,557 INFO L290 TraceCheckUtils]: 99: Hoare triple {25514#false} assume !false; {25514#false} is VALID [2022-04-28 06:20:39,558 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 40 proven. 52 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-28 06:20:39,558 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:22:10,755 WARN L232 SmtUtils]: Spent 23.83s on a formula simplification that was a NOOP. DAG size: 54 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 06:23:28,099 INFO L290 TraceCheckUtils]: 99: Hoare triple {25514#false} assume !false; {25514#false} is VALID [2022-04-28 06:23:28,099 INFO L290 TraceCheckUtils]: 98: Hoare triple {25821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25514#false} is VALID [2022-04-28 06:23:28,099 INFO L290 TraceCheckUtils]: 97: Hoare triple {25817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:23:28,100 INFO L272 TraceCheckUtils]: 96: Hoare triple {25837#(= (+ 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)); {25817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:23:28,100 INFO L290 TraceCheckUtils]: 95: Hoare triple {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 100);havoc #t~post7; {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:23:28,100 INFO L290 TraceCheckUtils]: 94: Hoare triple {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:23:28,103 INFO L290 TraceCheckUtils]: 93: Hoare triple {25847#(= (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; {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:23:28,112 INFO L290 TraceCheckUtils]: 92: Hoare triple {25851#(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); {25847#(= (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:23:28,112 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {25513#true} {25851#(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)))))} #90#return; {25851#(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:23:28,113 INFO L290 TraceCheckUtils]: 90: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,113 INFO L290 TraceCheckUtils]: 89: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,113 INFO L290 TraceCheckUtils]: 88: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,113 INFO L272 TraceCheckUtils]: 87: Hoare triple {25851#(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)); {25513#true} is VALID [2022-04-28 06:23:28,113 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25513#true} {25851#(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)))))} #88#return; {25851#(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:23:28,113 INFO L290 TraceCheckUtils]: 85: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,113 INFO L290 TraceCheckUtils]: 84: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,113 INFO L290 TraceCheckUtils]: 83: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,113 INFO L272 TraceCheckUtils]: 82: Hoare triple {25851#(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)); {25513#true} is VALID [2022-04-28 06:23:28,114 INFO L290 TraceCheckUtils]: 81: Hoare triple {25851#(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 !!(#t~post7 < 100);havoc #t~post7; {25851#(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:23:28,115 INFO L290 TraceCheckUtils]: 80: Hoare triple {25851#(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)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25851#(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:23:28,133 INFO L290 TraceCheckUtils]: 79: Hoare triple {25891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {25851#(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:23:28,330 INFO L290 TraceCheckUtils]: 78: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (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); {25891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:23:28,331 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #90#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:23:28,331 INFO L290 TraceCheckUtils]: 76: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,331 INFO L290 TraceCheckUtils]: 75: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,331 INFO L290 TraceCheckUtils]: 74: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,331 INFO L272 TraceCheckUtils]: 73: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:23:28,334 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #88#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:23:28,334 INFO L290 TraceCheckUtils]: 71: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,334 INFO L290 TraceCheckUtils]: 70: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,334 INFO L290 TraceCheckUtils]: 69: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,334 INFO L272 TraceCheckUtils]: 68: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:23:28,337 INFO L290 TraceCheckUtils]: 67: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post7 < 100);havoc #t~post7; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:23:28,340 INFO L290 TraceCheckUtils]: 66: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:23:28,343 INFO L290 TraceCheckUtils]: 65: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} assume !(~r~0 >= ~d~0); {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:23:28,344 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #86#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:23:28,344 INFO L290 TraceCheckUtils]: 63: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,344 INFO L290 TraceCheckUtils]: 62: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,344 INFO L290 TraceCheckUtils]: 61: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,344 INFO L272 TraceCheckUtils]: 60: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:23:28,345 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #84#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:23:28,345 INFO L290 TraceCheckUtils]: 58: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,345 INFO L290 TraceCheckUtils]: 57: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,345 INFO L290 TraceCheckUtils]: 56: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,345 INFO L272 TraceCheckUtils]: 55: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:23:28,346 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #82#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:23:28,346 INFO L290 TraceCheckUtils]: 53: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,346 INFO L290 TraceCheckUtils]: 52: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,346 INFO L290 TraceCheckUtils]: 51: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,346 INFO L272 TraceCheckUtils]: 50: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:23:28,349 INFO L290 TraceCheckUtils]: 49: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post6 < 100);havoc #t~post6; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:23:28,352 INFO L290 TraceCheckUtils]: 48: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:23:28,435 INFO L290 TraceCheckUtils]: 47: Hoare triple {25891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:23:28,438 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #86#return; {25891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-28 06:23:28,438 INFO L290 TraceCheckUtils]: 45: Hoare triple {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:23:28,438 INFO L290 TraceCheckUtils]: 44: Hoare triple {26002#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:23:28,439 INFO L290 TraceCheckUtils]: 43: Hoare triple {25513#true} ~cond := #in~cond; {26002#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:23:28,439 INFO L272 TraceCheckUtils]: 42: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:23:28,439 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {25513#true} {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #84#return; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:23:28,439 INFO L290 TraceCheckUtils]: 40: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,439 INFO L290 TraceCheckUtils]: 39: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,440 INFO L290 TraceCheckUtils]: 38: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,440 INFO L272 TraceCheckUtils]: 37: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:23:28,440 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {25513#true} {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #82#return; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:23:28,440 INFO L290 TraceCheckUtils]: 35: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,440 INFO L290 TraceCheckUtils]: 34: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,440 INFO L290 TraceCheckUtils]: 33: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,440 INFO L272 TraceCheckUtils]: 32: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:23:28,442 INFO L290 TraceCheckUtils]: 31: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} assume !!(#t~post6 < 100);havoc #t~post6; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:23:28,443 INFO L290 TraceCheckUtils]: 30: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:23:28,448 INFO L290 TraceCheckUtils]: 29: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:23:28,448 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25513#true} {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} #86#return; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-28 06:23:28,448 INFO L290 TraceCheckUtils]: 27: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,448 INFO L290 TraceCheckUtils]: 26: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,448 INFO L290 TraceCheckUtils]: 25: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,448 INFO L272 TraceCheckUtils]: 24: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:23:28,449 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25513#true} {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} #84#return; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-28 06:23:28,449 INFO L290 TraceCheckUtils]: 22: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,449 INFO L290 TraceCheckUtils]: 21: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,449 INFO L272 TraceCheckUtils]: 19: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:23:28,450 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {25513#true} {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} #82#return; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-28 06:23:28,450 INFO L290 TraceCheckUtils]: 17: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,450 INFO L290 TraceCheckUtils]: 16: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,450 INFO L290 TraceCheckUtils]: 15: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,450 INFO L272 TraceCheckUtils]: 14: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:23:28,450 INFO L290 TraceCheckUtils]: 13: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} assume !!(#t~post6 < 100);havoc #t~post6; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-28 06:23:28,451 INFO L290 TraceCheckUtils]: 12: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-28 06:23:28,453 INFO L290 TraceCheckUtils]: 11: Hoare triple {25513#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-28 06:23:28,453 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25513#true} {25513#true} #80#return; {25513#true} is VALID [2022-04-28 06:23:28,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-28 06:23:28,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-28 06:23:28,453 INFO L272 TraceCheckUtils]: 6: Hoare triple {25513#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {25513#true} is VALID [2022-04-28 06:23:28,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {25513#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;~B~0 := #t~nondet5;havoc #t~nondet5; {25513#true} is VALID [2022-04-28 06:23:28,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {25513#true} call #t~ret8 := main(); {25513#true} is VALID [2022-04-28 06:23:28,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25513#true} {25513#true} #96#return; {25513#true} is VALID [2022-04-28 06:23:28,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-28 06:23:28,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {25513#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);~counter~0 := 0; {25513#true} is VALID [2022-04-28 06:23:28,453 INFO L272 TraceCheckUtils]: 0: Hoare triple {25513#true} call ULTIMATE.init(); {25513#true} is VALID [2022-04-28 06:23:28,454 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 40 proven. 45 refuted. 7 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-28 06:23:28,454 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:23:28,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2116715908] [2022-04-28 06:23:28,454 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:23:28,455 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [987555348] [2022-04-28 06:23:28,455 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [987555348] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:23:28,455 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:23:28,455 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13] total 23 [2022-04-28 06:23:28,455 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:23:28,455 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1111377991] [2022-04-28 06:23:28,455 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1111377991] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:23:28,455 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:23:28,455 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 06:23:28,455 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [281051933] [2022-04-28 06:23:28,455 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:23:28,456 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 100 [2022-04-28 06:23:28,456 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:23:28,456 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 06:23:28,533 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:23:28,533 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 06:23:28,533 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:23:28,533 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 06:23:28,533 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=419, Unknown=3, NotChecked=0, Total=506 [2022-04-28 06:23:28,533 INFO L87 Difference]: Start difference. First operand 224 states and 252 transitions. Second operand has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 06:23:33,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:23:33,890 INFO L93 Difference]: Finished difference Result 237 states and 264 transitions. [2022-04-28 06:23:33,891 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 06:23:33,891 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 100 [2022-04-28 06:23:33,891 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:23:33,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 06:23:33,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 108 transitions. [2022-04-28 06:23:33,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 06:23:33,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 108 transitions. [2022-04-28 06:23:33,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 108 transitions. [2022-04-28 06:23:34,041 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:23:34,050 INFO L225 Difference]: With dead ends: 237 [2022-04-28 06:23:34,050 INFO L226 Difference]: Without dead ends: 221 [2022-04-28 06:23:34,050 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 202 GetRequests, 174 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 131 ImplicationChecksByTransitivity, 38.9s TimeCoverageRelationStatistics Valid=101, Invalid=546, Unknown=3, NotChecked=0, Total=650 [2022-04-28 06:23:34,053 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 43 mSDsluCounter, 279 mSDsCounter, 0 mSdLazyCounter, 644 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 329 SdHoareTripleChecker+Invalid, 683 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 644 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-28 06:23:34,053 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [53 Valid, 329 Invalid, 683 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 644 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 06:23:34,053 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 221 states. [2022-04-28 06:23:34,303 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 221 to 221. [2022-04-28 06:23:34,303 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:23:34,303 INFO L82 GeneralOperation]: Start isEquivalent. First operand 221 states. Second operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 06:23:34,304 INFO L74 IsIncluded]: Start isIncluded. First operand 221 states. Second operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 06:23:34,304 INFO L87 Difference]: Start difference. First operand 221 states. Second operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 06:23:34,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:23:34,306 INFO L93 Difference]: Finished difference Result 221 states and 247 transitions. [2022-04-28 06:23:34,307 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 247 transitions. [2022-04-28 06:23:34,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:23:34,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:23:34,307 INFO L74 IsIncluded]: Start isIncluded. First operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) Second operand 221 states. [2022-04-28 06:23:34,307 INFO L87 Difference]: Start difference. First operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) Second operand 221 states. [2022-04-28 06:23:34,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:23:34,310 INFO L93 Difference]: Finished difference Result 221 states and 247 transitions. [2022-04-28 06:23:34,310 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 247 transitions. [2022-04-28 06:23:34,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:23:34,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:23:34,310 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:23:34,310 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:23:34,310 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-28 06:23:34,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 221 states to 221 states and 247 transitions. [2022-04-28 06:23:34,314 INFO L78 Accepts]: Start accepts. Automaton has 221 states and 247 transitions. Word has length 100 [2022-04-28 06:23:34,314 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:23:34,314 INFO L495 AbstractCegarLoop]: Abstraction has 221 states and 247 transitions. [2022-04-28 06:23:34,314 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 06:23:34,314 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 221 states and 247 transitions. [2022-04-28 06:23:36,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 247 edges. 246 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:23:36,636 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 247 transitions. [2022-04-28 06:23:36,637 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 06:23:36,637 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:23:36,637 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:23:36,653 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 06:23:36,851 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable23 [2022-04-28 06:23:36,851 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:23:36,851 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:23:36,852 INFO L85 PathProgramCache]: Analyzing trace with hash -391055071, now seen corresponding path program 13 times [2022-04-28 06:23:36,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:23:36,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [255002944] [2022-04-28 06:23:42,535 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:23:42,535 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:23:42,536 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:23:42,536 INFO L85 PathProgramCache]: Analyzing trace with hash -391055071, now seen corresponding path program 14 times [2022-04-28 06:23:42,536 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:23:42,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [614149700] [2022-04-28 06:23:42,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:23:42,536 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:23:42,545 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:23:42,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [164204970] [2022-04-28 06:23:42,545 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:23:42,545 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:23:42,546 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:23:42,546 INFO L229 MonitoredProcess]: Starting monitored process 23 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:23:42,547 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 06:23:42,600 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:23:42,600 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:23:42,601 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 06:23:42,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:23:42,618 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:23:47,548 INFO L272 TraceCheckUtils]: 0: Hoare triple {27499#true} call ULTIMATE.init(); {27499#true} is VALID [2022-04-28 06:23:47,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {27499#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);~counter~0 := 0; {27499#true} is VALID [2022-04-28 06:23:47,548 INFO L290 TraceCheckUtils]: 2: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,548 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27499#true} {27499#true} #96#return; {27499#true} is VALID [2022-04-28 06:23:47,548 INFO L272 TraceCheckUtils]: 4: Hoare triple {27499#true} call #t~ret8 := main(); {27499#true} is VALID [2022-04-28 06:23:47,548 INFO L290 TraceCheckUtils]: 5: Hoare triple {27499#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;~B~0 := #t~nondet5;havoc #t~nondet5; {27499#true} is VALID [2022-04-28 06:23:47,548 INFO L272 TraceCheckUtils]: 6: Hoare triple {27499#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:47,549 INFO L290 TraceCheckUtils]: 7: Hoare triple {27499#true} ~cond := #in~cond; {27525#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:23:47,549 INFO L290 TraceCheckUtils]: 8: Hoare triple {27525#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {27529#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:23:47,549 INFO L290 TraceCheckUtils]: 9: Hoare triple {27529#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {27529#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:23:47,550 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27529#(not (= |assume_abort_if_not_#in~cond| 0))} {27499#true} #80#return; {27536#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:23:47,550 INFO L290 TraceCheckUtils]: 11: Hoare triple {27536#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:23:47,550 INFO L290 TraceCheckUtils]: 12: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:23:47,551 INFO L290 TraceCheckUtils]: 13: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:23:47,551 INFO L272 TraceCheckUtils]: 14: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:47,551 INFO L290 TraceCheckUtils]: 15: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,551 INFO L290 TraceCheckUtils]: 16: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,551 INFO L290 TraceCheckUtils]: 17: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,552 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {27499#true} {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:23:47,552 INFO L272 TraceCheckUtils]: 19: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (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)); {27499#true} is VALID [2022-04-28 06:23:47,552 INFO L290 TraceCheckUtils]: 20: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,552 INFO L290 TraceCheckUtils]: 21: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,552 INFO L290 TraceCheckUtils]: 22: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,552 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27499#true} {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:23:47,552 INFO L272 TraceCheckUtils]: 24: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (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)); {27499#true} is VALID [2022-04-28 06:23:47,552 INFO L290 TraceCheckUtils]: 25: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,553 INFO L290 TraceCheckUtils]: 26: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,553 INFO L290 TraceCheckUtils]: 27: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,553 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27499#true} {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:23:47,554 INFO L290 TraceCheckUtils]: 29: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (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; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:23:47,555 INFO L290 TraceCheckUtils]: 30: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:23:47,555 INFO L290 TraceCheckUtils]: 31: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:23:47,555 INFO L272 TraceCheckUtils]: 32: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:47,555 INFO L290 TraceCheckUtils]: 33: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,555 INFO L290 TraceCheckUtils]: 34: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,555 INFO L290 TraceCheckUtils]: 35: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,556 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {27499#true} {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:23:47,556 INFO L272 TraceCheckUtils]: 37: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:47,556 INFO L290 TraceCheckUtils]: 38: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,556 INFO L290 TraceCheckUtils]: 39: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,556 INFO L290 TraceCheckUtils]: 40: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,556 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {27499#true} {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:23:47,557 INFO L272 TraceCheckUtils]: 42: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:47,557 INFO L290 TraceCheckUtils]: 43: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,562 INFO L290 TraceCheckUtils]: 44: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,562 INFO L290 TraceCheckUtils]: 45: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,565 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {27499#true} {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:23:47,567 INFO L290 TraceCheckUtils]: 47: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:23:47,568 INFO L290 TraceCheckUtils]: 48: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:23:47,568 INFO L290 TraceCheckUtils]: 49: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 100);havoc #t~post6; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:23:47,568 INFO L272 TraceCheckUtils]: 50: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:47,568 INFO L290 TraceCheckUtils]: 51: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,568 INFO L290 TraceCheckUtils]: 52: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,568 INFO L290 TraceCheckUtils]: 53: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,569 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {27499#true} {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:23:47,569 INFO L272 TraceCheckUtils]: 55: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:47,569 INFO L290 TraceCheckUtils]: 56: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,569 INFO L290 TraceCheckUtils]: 57: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,569 INFO L290 TraceCheckUtils]: 58: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,569 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {27499#true} {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:23:47,569 INFO L272 TraceCheckUtils]: 60: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:47,569 INFO L290 TraceCheckUtils]: 61: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,569 INFO L290 TraceCheckUtils]: 62: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,570 INFO L290 TraceCheckUtils]: 63: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,570 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {27499#true} {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:23:47,571 INFO L290 TraceCheckUtils]: 65: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 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:23:47,571 INFO L290 TraceCheckUtils]: 66: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 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:23:47,572 INFO L290 TraceCheckUtils]: 67: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !!(#t~post6 < 100);havoc #t~post6; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 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:23:47,572 INFO L272 TraceCheckUtils]: 68: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 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)); {27499#true} is VALID [2022-04-28 06:23:47,572 INFO L290 TraceCheckUtils]: 69: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,572 INFO L290 TraceCheckUtils]: 70: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,572 INFO L290 TraceCheckUtils]: 71: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,573 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {27499#true} {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #82#return; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 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:23:47,573 INFO L272 TraceCheckUtils]: 73: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 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)); {27499#true} is VALID [2022-04-28 06:23:47,573 INFO L290 TraceCheckUtils]: 74: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,573 INFO L290 TraceCheckUtils]: 75: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,573 INFO L290 TraceCheckUtils]: 76: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,573 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {27499#true} {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #84#return; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 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:23:47,573 INFO L272 TraceCheckUtils]: 78: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 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)); {27499#true} is VALID [2022-04-28 06:23:47,573 INFO L290 TraceCheckUtils]: 79: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,573 INFO L290 TraceCheckUtils]: 80: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,574 INFO L290 TraceCheckUtils]: 81: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,574 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {27499#true} {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #86#return; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 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:23:47,574 INFO L290 TraceCheckUtils]: 83: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 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); {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~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:23:47,575 INFO L290 TraceCheckUtils]: 84: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~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:23:47,575 INFO L290 TraceCheckUtils]: 85: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~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 !!(#t~post7 < 100);havoc #t~post7; {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~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:23:47,575 INFO L272 TraceCheckUtils]: 86: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~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 ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:47,575 INFO L290 TraceCheckUtils]: 87: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,575 INFO L290 TraceCheckUtils]: 88: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,575 INFO L290 TraceCheckUtils]: 89: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,576 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {27499#true} {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~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))} #88#return; {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~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:23:47,576 INFO L272 TraceCheckUtils]: 91: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~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)); {27499#true} is VALID [2022-04-28 06:23:47,576 INFO L290 TraceCheckUtils]: 92: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:47,576 INFO L290 TraceCheckUtils]: 93: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:47,576 INFO L290 TraceCheckUtils]: 94: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:47,577 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {27499#true} {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~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))} #90#return; {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~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:23:47,578 INFO L290 TraceCheckUtils]: 96: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~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 !!(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); {27800#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 8 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= main_~p~0 4) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:23:47,580 INFO L290 TraceCheckUtils]: 97: Hoare triple {27800#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 8 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= main_~p~0 4) (<= (* (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; {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:23:47,580 INFO L290 TraceCheckUtils]: 98: Hoare triple {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:23:47,581 INFO L290 TraceCheckUtils]: 99: Hoare triple {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 100);havoc #t~post7; {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:23:47,581 INFO L272 TraceCheckUtils]: 100: Hoare triple {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {27814#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:23:47,582 INFO L290 TraceCheckUtils]: 101: Hoare triple {27814#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27818#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:23:47,582 INFO L290 TraceCheckUtils]: 102: Hoare triple {27818#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27500#false} is VALID [2022-04-28 06:23:47,582 INFO L290 TraceCheckUtils]: 103: Hoare triple {27500#false} assume !false; {27500#false} is VALID [2022-04-28 06:23:47,582 INFO L134 CoverageAnalysis]: Checked inductivity of 431 backedges. 28 proven. 39 refuted. 0 times theorem prover too weak. 364 trivial. 0 not checked. [2022-04-28 06:23:47,582 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:23:57,882 INFO L290 TraceCheckUtils]: 103: Hoare triple {27500#false} assume !false; {27500#false} is VALID [2022-04-28 06:23:57,883 INFO L290 TraceCheckUtils]: 102: Hoare triple {27818#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27500#false} is VALID [2022-04-28 06:23:57,883 INFO L290 TraceCheckUtils]: 101: Hoare triple {27814#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27818#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:23:57,884 INFO L272 TraceCheckUtils]: 100: Hoare triple {27834#(= (+ 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)); {27814#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:23:57,884 INFO L290 TraceCheckUtils]: 99: Hoare triple {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 100);havoc #t~post7; {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:23:57,884 INFO L290 TraceCheckUtils]: 98: Hoare triple {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:23:57,887 INFO L290 TraceCheckUtils]: 97: Hoare triple {27844#(= (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; {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:23:57,896 INFO L290 TraceCheckUtils]: 96: Hoare triple {27848#(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); {27844#(= (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:23:57,897 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {27499#true} {27848#(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)))))} #90#return; {27848#(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:23:57,897 INFO L290 TraceCheckUtils]: 94: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,897 INFO L290 TraceCheckUtils]: 93: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,897 INFO L290 TraceCheckUtils]: 92: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,897 INFO L272 TraceCheckUtils]: 91: Hoare triple {27848#(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)); {27499#true} is VALID [2022-04-28 06:23:57,897 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {27499#true} {27848#(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)))))} #88#return; {27848#(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:23:57,897 INFO L290 TraceCheckUtils]: 89: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,898 INFO L290 TraceCheckUtils]: 88: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,898 INFO L290 TraceCheckUtils]: 87: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,898 INFO L272 TraceCheckUtils]: 86: Hoare triple {27848#(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)); {27499#true} is VALID [2022-04-28 06:23:57,899 INFO L290 TraceCheckUtils]: 85: Hoare triple {27848#(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 !!(#t~post7 < 100);havoc #t~post7; {27848#(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:23:57,900 INFO L290 TraceCheckUtils]: 84: Hoare triple {27848#(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)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27848#(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:23:57,900 INFO L290 TraceCheckUtils]: 83: Hoare triple {27888#(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); {27848#(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:23:57,901 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {27499#true} {27888#(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))} #86#return; {27888#(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:23:57,901 INFO L290 TraceCheckUtils]: 81: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,901 INFO L290 TraceCheckUtils]: 80: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,901 INFO L290 TraceCheckUtils]: 79: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,901 INFO L272 TraceCheckUtils]: 78: Hoare triple {27888#(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)); {27499#true} is VALID [2022-04-28 06:23:57,902 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {27499#true} {27888#(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))} #84#return; {27888#(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:23:57,902 INFO L290 TraceCheckUtils]: 76: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,902 INFO L290 TraceCheckUtils]: 75: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,902 INFO L290 TraceCheckUtils]: 74: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,902 INFO L272 TraceCheckUtils]: 73: Hoare triple {27888#(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)); {27499#true} is VALID [2022-04-28 06:23:57,902 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {27499#true} {27888#(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))} #82#return; {27888#(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:23:57,903 INFO L290 TraceCheckUtils]: 71: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,903 INFO L290 TraceCheckUtils]: 70: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,903 INFO L290 TraceCheckUtils]: 69: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,903 INFO L272 TraceCheckUtils]: 68: Hoare triple {27888#(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)); {27499#true} is VALID [2022-04-28 06:23:57,904 INFO L290 TraceCheckUtils]: 67: Hoare triple {27888#(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 !!(#t~post6 < 100);havoc #t~post6; {27888#(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:23:57,905 INFO L290 TraceCheckUtils]: 66: Hoare triple {27888#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27888#(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:23:57,908 INFO L290 TraceCheckUtils]: 65: Hoare triple {27943#(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; {27888#(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:23:57,909 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {27499#true} {27943#(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))} #86#return; {27943#(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:23:57,909 INFO L290 TraceCheckUtils]: 63: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,909 INFO L290 TraceCheckUtils]: 62: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,909 INFO L290 TraceCheckUtils]: 61: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,909 INFO L272 TraceCheckUtils]: 60: Hoare triple {27943#(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)); {27499#true} is VALID [2022-04-28 06:23:57,909 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {27499#true} {27943#(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))} #84#return; {27943#(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:23:57,909 INFO L290 TraceCheckUtils]: 58: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,909 INFO L290 TraceCheckUtils]: 57: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,909 INFO L290 TraceCheckUtils]: 56: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,910 INFO L272 TraceCheckUtils]: 55: Hoare triple {27943#(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)); {27499#true} is VALID [2022-04-28 06:23:57,910 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {27499#true} {27943#(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))} #82#return; {27943#(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:23:57,910 INFO L290 TraceCheckUtils]: 53: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,910 INFO L290 TraceCheckUtils]: 52: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,910 INFO L290 TraceCheckUtils]: 51: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,910 INFO L272 TraceCheckUtils]: 50: Hoare triple {27943#(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)); {27499#true} is VALID [2022-04-28 06:23:57,911 INFO L290 TraceCheckUtils]: 49: Hoare triple {27943#(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 !!(#t~post6 < 100);havoc #t~post6; {27943#(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:23:57,911 INFO L290 TraceCheckUtils]: 48: Hoare triple {27943#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27943#(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:23:57,913 INFO L290 TraceCheckUtils]: 47: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27943#(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:23:57,913 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {27499#true} {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #86#return; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:23:57,913 INFO L290 TraceCheckUtils]: 45: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,913 INFO L290 TraceCheckUtils]: 44: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,913 INFO L290 TraceCheckUtils]: 43: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,913 INFO L272 TraceCheckUtils]: 42: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:57,914 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {27499#true} {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #84#return; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:23:57,914 INFO L290 TraceCheckUtils]: 40: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,914 INFO L290 TraceCheckUtils]: 39: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,914 INFO L290 TraceCheckUtils]: 38: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,914 INFO L272 TraceCheckUtils]: 37: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:57,915 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {27499#true} {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #82#return; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:23:57,915 INFO L290 TraceCheckUtils]: 35: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,915 INFO L290 TraceCheckUtils]: 34: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,915 INFO L290 TraceCheckUtils]: 33: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,915 INFO L272 TraceCheckUtils]: 32: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:57,915 INFO L290 TraceCheckUtils]: 31: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:23:57,916 INFO L290 TraceCheckUtils]: 30: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:23:57,917 INFO L290 TraceCheckUtils]: 29: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 06:23:57,918 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27499#true} {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #86#return; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:23:57,918 INFO L290 TraceCheckUtils]: 27: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,918 INFO L290 TraceCheckUtils]: 26: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,918 INFO L290 TraceCheckUtils]: 25: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,918 INFO L272 TraceCheckUtils]: 24: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:57,918 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27499#true} {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #84#return; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:23:57,918 INFO L290 TraceCheckUtils]: 22: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,918 INFO L290 TraceCheckUtils]: 21: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,918 INFO L290 TraceCheckUtils]: 20: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,918 INFO L272 TraceCheckUtils]: 19: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:57,919 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {27499#true} {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #82#return; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:23:57,919 INFO L290 TraceCheckUtils]: 17: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,919 INFO L290 TraceCheckUtils]: 16: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,919 INFO L290 TraceCheckUtils]: 15: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,919 INFO L272 TraceCheckUtils]: 14: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:57,920 INFO L290 TraceCheckUtils]: 13: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} assume !!(#t~post6 < 100);havoc #t~post6; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:23:57,920 INFO L290 TraceCheckUtils]: 12: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:23:57,922 INFO L290 TraceCheckUtils]: 11: Hoare triple {27499#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 06:23:57,922 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27499#true} {27499#true} #80#return; {27499#true} is VALID [2022-04-28 06:23:57,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,923 INFO L290 TraceCheckUtils]: 8: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-28 06:23:57,923 INFO L290 TraceCheckUtils]: 7: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-28 06:23:57,923 INFO L272 TraceCheckUtils]: 6: Hoare triple {27499#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {27499#true} is VALID [2022-04-28 06:23:57,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {27499#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;~B~0 := #t~nondet5;havoc #t~nondet5; {27499#true} is VALID [2022-04-28 06:23:57,923 INFO L272 TraceCheckUtils]: 4: Hoare triple {27499#true} call #t~ret8 := main(); {27499#true} is VALID [2022-04-28 06:23:57,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27499#true} {27499#true} #96#return; {27499#true} is VALID [2022-04-28 06:23:57,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-28 06:23:57,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {27499#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);~counter~0 := 0; {27499#true} is VALID [2022-04-28 06:23:57,923 INFO L272 TraceCheckUtils]: 0: Hoare triple {27499#true} call ULTIMATE.init(); {27499#true} is VALID [2022-04-28 06:23:57,924 INFO L134 CoverageAnalysis]: Checked inductivity of 431 backedges. 28 proven. 39 refuted. 0 times theorem prover too weak. 364 trivial. 0 not checked. [2022-04-28 06:23:57,924 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:23:57,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [614149700] [2022-04-28 06:23:57,924 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:23:57,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [164204970] [2022-04-28 06:23:57,924 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [164204970] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:23:57,924 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:23:57,924 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 21 [2022-04-28 06:23:57,924 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:23:57,924 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [255002944] [2022-04-28 06:23:57,924 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [255002944] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:23:57,924 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:23:57,924 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 06:23:57,924 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [981884665] [2022-04-28 06:23:57,924 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:23:57,925 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-28 06:23:57,925 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:23:57,925 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 06:23:58,010 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:23:58,011 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 06:23:58,011 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:23:58,011 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 06:23:58,011 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=329, Unknown=0, NotChecked=0, Total=420 [2022-04-28 06:23:58,013 INFO L87 Difference]: Start difference. First operand 221 states and 247 transitions. Second operand has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 06:24:01,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:01,593 INFO L93 Difference]: Finished difference Result 280 states and 328 transitions. [2022-04-28 06:24:01,593 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 06:24:01,593 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-28 06:24:01,593 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:24:01,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 06:24:01,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 135 transitions. [2022-04-28 06:24:01,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 06:24:01,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 135 transitions. [2022-04-28 06:24:01,595 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 135 transitions. [2022-04-28 06:24:01,757 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:01,760 INFO L225 Difference]: With dead ends: 280 [2022-04-28 06:24:01,761 INFO L226 Difference]: Without dead ends: 235 [2022-04-28 06:24:01,761 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 187 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 115 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=99, Invalid=407, Unknown=0, NotChecked=0, Total=506 [2022-04-28 06:24:01,761 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 39 mSDsluCounter, 310 mSDsCounter, 0 mSdLazyCounter, 620 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 371 SdHoareTripleChecker+Invalid, 661 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 620 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-28 06:24:01,761 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 371 Invalid, 661 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 620 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-28 06:24:01,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235 states. [2022-04-28 06:24:02,025 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 235 to 232. [2022-04-28 06:24:02,025 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:24:02,026 INFO L82 GeneralOperation]: Start isEquivalent. First operand 235 states. Second operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 06:24:02,026 INFO L74 IsIncluded]: Start isIncluded. First operand 235 states. Second operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 06:24:02,026 INFO L87 Difference]: Start difference. First operand 235 states. Second operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 06:24:02,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:02,029 INFO L93 Difference]: Finished difference Result 235 states and 266 transitions. [2022-04-28 06:24:02,029 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 266 transitions. [2022-04-28 06:24:02,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:02,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:02,029 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) Second operand 235 states. [2022-04-28 06:24:02,030 INFO L87 Difference]: Start difference. First operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) Second operand 235 states. [2022-04-28 06:24:02,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:02,032 INFO L93 Difference]: Finished difference Result 235 states and 266 transitions. [2022-04-28 06:24:02,032 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 266 transitions. [2022-04-28 06:24:02,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:02,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:02,033 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:24:02,033 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:24:02,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-28 06:24:02,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 261 transitions. [2022-04-28 06:24:02,036 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 261 transitions. Word has length 104 [2022-04-28 06:24:02,036 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:24:02,036 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 261 transitions. [2022-04-28 06:24:02,037 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 06:24:02,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 261 transitions. [2022-04-28 06:24:04,429 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 260 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:04,429 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 261 transitions. [2022-04-28 06:24:04,430 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-28 06:24:04,430 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:24:04,430 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:24:04,449 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 06:24:04,630 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:24:04,631 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:24:04,631 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:24:04,631 INFO L85 PathProgramCache]: Analyzing trace with hash 979077220, now seen corresponding path program 15 times [2022-04-28 06:24:04,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:24:04,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1075835612] [2022-04-28 06:24:13,409 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:24:13,410 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:24:13,410 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:24:13,410 INFO L85 PathProgramCache]: Analyzing trace with hash 979077220, now seen corresponding path program 16 times [2022-04-28 06:24:13,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:24:13,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2056816644] [2022-04-28 06:24:13,410 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:24:13,410 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:24:13,418 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:24:13,418 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1686808522] [2022-04-28 06:24:13,418 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:24:13,418 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:24:13,418 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:24:13,419 INFO L229 MonitoredProcess]: Starting monitored process 24 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:13,420 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 06:24:13,473 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:24:13,474 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:24:13,474 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 06:24:13,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:24:13,492 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:24:14,394 INFO L272 TraceCheckUtils]: 0: Hoare triple {29641#true} call ULTIMATE.init(); {29641#true} is VALID [2022-04-28 06:24:14,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {29641#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);~counter~0 := 0; {29641#true} is VALID [2022-04-28 06:24:14,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29641#true} {29641#true} #96#return; {29641#true} is VALID [2022-04-28 06:24:14,394 INFO L272 TraceCheckUtils]: 4: Hoare triple {29641#true} call #t~ret8 := main(); {29641#true} is VALID [2022-04-28 06:24:14,394 INFO L290 TraceCheckUtils]: 5: Hoare triple {29641#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;~B~0 := #t~nondet5;havoc #t~nondet5; {29641#true} is VALID [2022-04-28 06:24:14,395 INFO L272 TraceCheckUtils]: 6: Hoare triple {29641#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,395 INFO L290 TraceCheckUtils]: 7: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,395 INFO L290 TraceCheckUtils]: 8: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,395 INFO L290 TraceCheckUtils]: 9: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,395 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29641#true} {29641#true} #80#return; {29641#true} is VALID [2022-04-28 06:24:14,395 INFO L290 TraceCheckUtils]: 11: Hoare triple {29641#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:24:14,395 INFO L290 TraceCheckUtils]: 12: Hoare triple {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:24:14,396 INFO L290 TraceCheckUtils]: 13: Hoare triple {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:24:14,396 INFO L272 TraceCheckUtils]: 14: Hoare triple {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,396 INFO L290 TraceCheckUtils]: 15: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,396 INFO L290 TraceCheckUtils]: 16: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,396 INFO L290 TraceCheckUtils]: 17: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,396 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {29641#true} {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:24:14,396 INFO L272 TraceCheckUtils]: 19: Hoare triple {29679#(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)); {29641#true} is VALID [2022-04-28 06:24:14,396 INFO L290 TraceCheckUtils]: 20: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,397 INFO L290 TraceCheckUtils]: 21: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,397 INFO L290 TraceCheckUtils]: 22: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,397 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29641#true} {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:24:14,397 INFO L272 TraceCheckUtils]: 24: Hoare triple {29679#(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)); {29641#true} is VALID [2022-04-28 06:24:14,397 INFO L290 TraceCheckUtils]: 25: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,397 INFO L290 TraceCheckUtils]: 26: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,397 INFO L290 TraceCheckUtils]: 27: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,398 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29641#true} {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:24:14,399 INFO L290 TraceCheckUtils]: 29: Hoare triple {29679#(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; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-28 06:24:14,400 INFO L290 TraceCheckUtils]: 30: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-28 06:24:14,400 INFO L290 TraceCheckUtils]: 31: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} assume !!(#t~post6 < 100);havoc #t~post6; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-28 06:24:14,400 INFO L272 TraceCheckUtils]: 32: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,400 INFO L290 TraceCheckUtils]: 33: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,400 INFO L290 TraceCheckUtils]: 34: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,400 INFO L290 TraceCheckUtils]: 35: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,400 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29641#true} {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} #82#return; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-28 06:24:14,401 INFO L272 TraceCheckUtils]: 37: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,401 INFO L290 TraceCheckUtils]: 38: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,401 INFO L290 TraceCheckUtils]: 39: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,401 INFO L290 TraceCheckUtils]: 40: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,401 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {29641#true} {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} #84#return; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-28 06:24:14,401 INFO L272 TraceCheckUtils]: 42: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,401 INFO L290 TraceCheckUtils]: 43: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,401 INFO L290 TraceCheckUtils]: 44: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,401 INFO L290 TraceCheckUtils]: 45: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,402 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {29641#true} {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} #86#return; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-28 06:24:14,403 INFO L290 TraceCheckUtils]: 47: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:24:14,403 INFO L290 TraceCheckUtils]: 48: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:24:14,403 INFO L290 TraceCheckUtils]: 49: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} assume !!(#t~post6 < 100);havoc #t~post6; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:24:14,403 INFO L272 TraceCheckUtils]: 50: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,403 INFO L290 TraceCheckUtils]: 51: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,403 INFO L290 TraceCheckUtils]: 52: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,403 INFO L290 TraceCheckUtils]: 53: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,404 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {29641#true} {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #82#return; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:24:14,404 INFO L272 TraceCheckUtils]: 55: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,404 INFO L290 TraceCheckUtils]: 56: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,404 INFO L290 TraceCheckUtils]: 57: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,404 INFO L290 TraceCheckUtils]: 58: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,404 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {29641#true} {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #84#return; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:24:14,405 INFO L272 TraceCheckUtils]: 60: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,405 INFO L290 TraceCheckUtils]: 61: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,405 INFO L290 TraceCheckUtils]: 62: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,405 INFO L290 TraceCheckUtils]: 63: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,405 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29641#true} {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #86#return; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-28 06:24:14,406 INFO L290 TraceCheckUtils]: 65: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:24:14,406 INFO L290 TraceCheckUtils]: 66: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:24:14,407 INFO L290 TraceCheckUtils]: 67: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !!(#t~post6 < 100);havoc #t~post6; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:24:14,407 INFO L272 TraceCheckUtils]: 68: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,407 INFO L290 TraceCheckUtils]: 69: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,407 INFO L290 TraceCheckUtils]: 70: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,407 INFO L290 TraceCheckUtils]: 71: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,407 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {29641#true} {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #82#return; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:24:14,407 INFO L272 TraceCheckUtils]: 73: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,408 INFO L290 TraceCheckUtils]: 74: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,408 INFO L290 TraceCheckUtils]: 75: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,408 INFO L290 TraceCheckUtils]: 76: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,408 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {29641#true} {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #84#return; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:24:14,408 INFO L272 TraceCheckUtils]: 78: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,408 INFO L290 TraceCheckUtils]: 79: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,408 INFO L290 TraceCheckUtils]: 80: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,408 INFO L290 TraceCheckUtils]: 81: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,409 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {29641#true} {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #86#return; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 06:24:14,410 INFO L290 TraceCheckUtils]: 83: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !(~r~0 >= ~d~0); {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-28 06:24:14,410 INFO L290 TraceCheckUtils]: 84: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-28 06:24:14,411 INFO L290 TraceCheckUtils]: 85: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} assume !!(#t~post7 < 100);havoc #t~post7; {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-28 06:24:14,411 INFO L272 TraceCheckUtils]: 86: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (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)); {29641#true} is VALID [2022-04-28 06:24:14,411 INFO L290 TraceCheckUtils]: 87: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,411 INFO L290 TraceCheckUtils]: 88: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,411 INFO L290 TraceCheckUtils]: 89: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,411 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {29641#true} {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} #88#return; {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-28 06:24:14,412 INFO L272 TraceCheckUtils]: 91: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,412 INFO L290 TraceCheckUtils]: 92: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,412 INFO L290 TraceCheckUtils]: 93: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,412 INFO L290 TraceCheckUtils]: 94: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,412 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {29641#true} {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} #90#return; {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-28 06:24:14,413 INFO L290 TraceCheckUtils]: 96: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (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); {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:14,414 INFO L290 TraceCheckUtils]: 97: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:14,414 INFO L290 TraceCheckUtils]: 98: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:14,414 INFO L290 TraceCheckUtils]: 99: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} assume !!(#t~post7 < 100);havoc #t~post7; {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:14,414 INFO L272 TraceCheckUtils]: 100: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:14,415 INFO L290 TraceCheckUtils]: 101: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:14,415 INFO L290 TraceCheckUtils]: 102: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:14,415 INFO L290 TraceCheckUtils]: 103: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:14,415 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {29641#true} {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} #88#return; {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:14,416 INFO L272 TraceCheckUtils]: 105: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29967#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:24:14,416 INFO L290 TraceCheckUtils]: 106: Hoare triple {29967#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29971#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:24:14,416 INFO L290 TraceCheckUtils]: 107: Hoare triple {29971#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29642#false} is VALID [2022-04-28 06:24:14,416 INFO L290 TraceCheckUtils]: 108: Hoare triple {29642#false} assume !false; {29642#false} is VALID [2022-04-28 06:24:14,417 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 30 proven. 40 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-28 06:24:14,417 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:24:17,762 INFO L290 TraceCheckUtils]: 108: Hoare triple {29642#false} assume !false; {29642#false} is VALID [2022-04-28 06:24:17,763 INFO L290 TraceCheckUtils]: 107: Hoare triple {29971#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29642#false} is VALID [2022-04-28 06:24:17,763 INFO L290 TraceCheckUtils]: 106: Hoare triple {29967#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29971#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:24:17,764 INFO L272 TraceCheckUtils]: 105: Hoare triple {29987#(= 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)); {29967#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:24:17,764 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {29641#true} {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #88#return; {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:17,764 INFO L290 TraceCheckUtils]: 103: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,764 INFO L290 TraceCheckUtils]: 102: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,764 INFO L290 TraceCheckUtils]: 101: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,764 INFO L272 TraceCheckUtils]: 100: Hoare triple {29987#(= 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)); {29641#true} is VALID [2022-04-28 06:24:17,765 INFO L290 TraceCheckUtils]: 99: Hoare triple {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 100);havoc #t~post7; {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:17,765 INFO L290 TraceCheckUtils]: 98: Hoare triple {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:17,765 INFO L290 TraceCheckUtils]: 97: Hoare triple {29987#(= 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; {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:17,777 INFO L290 TraceCheckUtils]: 96: Hoare triple {30015#(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); {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:17,777 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {29641#true} {30015#(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)))))} #90#return; {30015#(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:17,778 INFO L290 TraceCheckUtils]: 94: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,778 INFO L290 TraceCheckUtils]: 93: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,778 INFO L290 TraceCheckUtils]: 92: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,778 INFO L272 TraceCheckUtils]: 91: Hoare triple {30015#(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)); {29641#true} is VALID [2022-04-28 06:24:17,778 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {29641#true} {30015#(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)))))} #88#return; {30015#(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:17,778 INFO L290 TraceCheckUtils]: 89: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,778 INFO L290 TraceCheckUtils]: 88: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,778 INFO L290 TraceCheckUtils]: 87: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,778 INFO L272 TraceCheckUtils]: 86: Hoare triple {30015#(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)); {29641#true} is VALID [2022-04-28 06:24:17,779 INFO L290 TraceCheckUtils]: 85: Hoare triple {30015#(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 !!(#t~post7 < 100);havoc #t~post7; {30015#(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:17,780 INFO L290 TraceCheckUtils]: 84: Hoare triple {30015#(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)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30015#(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:17,781 INFO L290 TraceCheckUtils]: 83: Hoare triple {30055#(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); {30015#(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:17,782 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {29641#true} {30055#(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))))))} #86#return; {30055#(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:17,782 INFO L290 TraceCheckUtils]: 81: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,782 INFO L290 TraceCheckUtils]: 80: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,782 INFO L290 TraceCheckUtils]: 79: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,782 INFO L272 TraceCheckUtils]: 78: Hoare triple {30055#(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)); {29641#true} is VALID [2022-04-28 06:24:17,782 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {29641#true} {30055#(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))))))} #84#return; {30055#(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:17,782 INFO L290 TraceCheckUtils]: 76: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,782 INFO L290 TraceCheckUtils]: 75: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,782 INFO L290 TraceCheckUtils]: 74: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,783 INFO L272 TraceCheckUtils]: 73: Hoare triple {30055#(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)); {29641#true} is VALID [2022-04-28 06:24:17,783 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {29641#true} {30055#(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))))))} #82#return; {30055#(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:17,783 INFO L290 TraceCheckUtils]: 71: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,783 INFO L290 TraceCheckUtils]: 70: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,783 INFO L290 TraceCheckUtils]: 69: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,783 INFO L272 TraceCheckUtils]: 68: Hoare triple {30055#(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)); {29641#true} is VALID [2022-04-28 06:24:17,784 INFO L290 TraceCheckUtils]: 67: Hoare triple {30055#(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 !!(#t~post6 < 100);havoc #t~post6; {30055#(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:17,785 INFO L290 TraceCheckUtils]: 66: Hoare triple {30055#(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))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30055#(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:17,789 INFO L290 TraceCheckUtils]: 65: Hoare triple {30110#(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; {30055#(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:17,789 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {30110#(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:24:17,789 INFO L290 TraceCheckUtils]: 63: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,789 INFO L290 TraceCheckUtils]: 62: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,789 INFO L290 TraceCheckUtils]: 61: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,789 INFO L272 TraceCheckUtils]: 60: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 06:24:17,790 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {30110#(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:24:17,790 INFO L290 TraceCheckUtils]: 58: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,790 INFO L290 TraceCheckUtils]: 57: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,790 INFO L290 TraceCheckUtils]: 56: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,790 INFO L272 TraceCheckUtils]: 55: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 06:24:17,790 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {30110#(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:24:17,790 INFO L290 TraceCheckUtils]: 53: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,790 INFO L290 TraceCheckUtils]: 52: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,790 INFO L290 TraceCheckUtils]: 51: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,791 INFO L272 TraceCheckUtils]: 50: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 06:24:17,791 INFO L290 TraceCheckUtils]: 49: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 100);havoc #t~post6; {30110#(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:24:17,791 INFO L290 TraceCheckUtils]: 48: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30110#(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:24:17,793 INFO L290 TraceCheckUtils]: 47: Hoare triple {30110#(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; {30110#(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:24:17,793 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {30110#(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:24:17,793 INFO L290 TraceCheckUtils]: 45: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,793 INFO L290 TraceCheckUtils]: 44: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,793 INFO L290 TraceCheckUtils]: 43: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,793 INFO L272 TraceCheckUtils]: 42: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 06:24:17,794 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {30110#(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:24:17,794 INFO L290 TraceCheckUtils]: 40: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,794 INFO L290 TraceCheckUtils]: 39: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,794 INFO L290 TraceCheckUtils]: 38: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,794 INFO L272 TraceCheckUtils]: 37: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 06:24:17,794 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {30110#(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:24:17,794 INFO L290 TraceCheckUtils]: 35: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,794 INFO L290 TraceCheckUtils]: 34: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,795 INFO L290 TraceCheckUtils]: 33: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,795 INFO L272 TraceCheckUtils]: 32: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 06:24:17,795 INFO L290 TraceCheckUtils]: 31: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 100);havoc #t~post6; {30110#(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:24:17,795 INFO L290 TraceCheckUtils]: 30: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30110#(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:24:17,797 INFO L290 TraceCheckUtils]: 29: Hoare triple {30110#(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; {30110#(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:24:17,797 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {30110#(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:24:17,797 INFO L290 TraceCheckUtils]: 27: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,797 INFO L290 TraceCheckUtils]: 26: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,797 INFO L290 TraceCheckUtils]: 25: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,797 INFO L272 TraceCheckUtils]: 24: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 06:24:17,798 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {30110#(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:24:17,798 INFO L290 TraceCheckUtils]: 22: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,798 INFO L290 TraceCheckUtils]: 21: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,798 INFO L290 TraceCheckUtils]: 20: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,798 INFO L272 TraceCheckUtils]: 19: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 06:24:17,798 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {30110#(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:24:17,798 INFO L290 TraceCheckUtils]: 17: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,798 INFO L290 TraceCheckUtils]: 16: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,798 INFO L290 TraceCheckUtils]: 15: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,799 INFO L272 TraceCheckUtils]: 14: Hoare triple {30110#(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)); {29641#true} is VALID [2022-04-28 06:24:17,799 INFO L290 TraceCheckUtils]: 13: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 100);havoc #t~post6; {30110#(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:24:17,799 INFO L290 TraceCheckUtils]: 12: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30110#(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:24:17,800 INFO L290 TraceCheckUtils]: 11: Hoare triple {29641#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {30110#(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:24:17,800 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29641#true} {29641#true} #80#return; {29641#true} is VALID [2022-04-28 06:24:17,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-28 06:24:17,800 INFO L290 TraceCheckUtils]: 7: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-28 06:24:17,800 INFO L272 TraceCheckUtils]: 6: Hoare triple {29641#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {29641#true} is VALID [2022-04-28 06:24:17,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {29641#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;~B~0 := #t~nondet5;havoc #t~nondet5; {29641#true} is VALID [2022-04-28 06:24:17,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {29641#true} call #t~ret8 := main(); {29641#true} is VALID [2022-04-28 06:24:17,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29641#true} {29641#true} #96#return; {29641#true} is VALID [2022-04-28 06:24:17,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-28 06:24:17,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {29641#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);~counter~0 := 0; {29641#true} is VALID [2022-04-28 06:24:17,800 INFO L272 TraceCheckUtils]: 0: Hoare triple {29641#true} call ULTIMATE.init(); {29641#true} is VALID [2022-04-28 06:24:17,801 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 30 proven. 22 refuted. 0 times theorem prover too weak. 438 trivial. 0 not checked. [2022-04-28 06:24:17,801 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:24:17,801 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2056816644] [2022-04-28 06:24:17,801 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:24:17,801 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1686808522] [2022-04-28 06:24:17,801 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1686808522] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:24:17,801 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:24:17,801 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 14 [2022-04-28 06:24:17,801 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:24:17,801 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1075835612] [2022-04-28 06:24:17,801 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1075835612] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:24:17,801 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:24:17,801 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 06:24:17,802 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [90311256] [2022-04-28 06:24:17,802 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:24:17,802 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 109 [2022-04-28 06:24:17,802 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:24:17,802 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:24:17,893 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:17,893 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 06:24:17,893 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:24:17,894 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 06:24:17,894 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:24:17,894 INFO L87 Difference]: Start difference. First operand 232 states and 261 transitions. Second operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:24:20,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:20,750 INFO L93 Difference]: Finished difference Result 286 states and 340 transitions. [2022-04-28 06:24:20,750 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 06:24:20,751 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 109 [2022-04-28 06:24:20,751 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:24:20,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:24:20,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 154 transitions. [2022-04-28 06:24:20,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:24:20,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 154 transitions. [2022-04-28 06:24:20,753 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 154 transitions. [2022-04-28 06:24:20,939 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:20,943 INFO L225 Difference]: With dead ends: 286 [2022-04-28 06:24:20,943 INFO L226 Difference]: Without dead ends: 256 [2022-04-28 06:24:20,943 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 219 GetRequests, 202 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-28 06:24:20,944 INFO L413 NwaCegarLoop]: 89 mSDtfsCounter, 23 mSDsluCounter, 398 mSDsCounter, 0 mSdLazyCounter, 474 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 487 SdHoareTripleChecker+Invalid, 492 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 474 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:24:20,944 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 487 Invalid, 492 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 474 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-28 06:24:20,944 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 256 states. [2022-04-28 06:24:21,285 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 256 to 250. [2022-04-28 06:24:21,286 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:24:21,286 INFO L82 GeneralOperation]: Start isEquivalent. First operand 256 states. Second operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 06:24:21,286 INFO L74 IsIncluded]: Start isIncluded. First operand 256 states. Second operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 06:24:21,287 INFO L87 Difference]: Start difference. First operand 256 states. Second operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 06:24:21,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:21,290 INFO L93 Difference]: Finished difference Result 256 states and 294 transitions. [2022-04-28 06:24:21,290 INFO L276 IsEmpty]: Start isEmpty. Operand 256 states and 294 transitions. [2022-04-28 06:24:21,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:21,290 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:21,291 INFO L74 IsIncluded]: Start isIncluded. First operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) Second operand 256 states. [2022-04-28 06:24:21,291 INFO L87 Difference]: Start difference. First operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) Second operand 256 states. [2022-04-28 06:24:21,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:21,294 INFO L93 Difference]: Finished difference Result 256 states and 294 transitions. [2022-04-28 06:24:21,294 INFO L276 IsEmpty]: Start isEmpty. Operand 256 states and 294 transitions. [2022-04-28 06:24:21,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:21,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:21,294 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:24:21,294 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:24:21,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 06:24:21,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 250 states to 250 states and 286 transitions. [2022-04-28 06:24:21,299 INFO L78 Accepts]: Start accepts. Automaton has 250 states and 286 transitions. Word has length 109 [2022-04-28 06:24:21,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:24:21,299 INFO L495 AbstractCegarLoop]: Abstraction has 250 states and 286 transitions. [2022-04-28 06:24:21,299 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:24:21,299 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 250 states and 286 transitions. [2022-04-28 06:24:23,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 286 edges. 285 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:23,722 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 286 transitions. [2022-04-28 06:24:23,722 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 06:24:23,722 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:24:23,722 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 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] [2022-04-28 06:24:23,738 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 06:24:23,927 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable25,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:24:23,927 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:24:23,928 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:24:23,928 INFO L85 PathProgramCache]: Analyzing trace with hash 1412827450, now seen corresponding path program 3 times [2022-04-28 06:24:23,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:24:23,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1506469318] [2022-04-28 06:24:30,703 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:24:30,703 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:24:30,703 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:24:30,704 INFO L85 PathProgramCache]: Analyzing trace with hash 1412827450, now seen corresponding path program 4 times [2022-04-28 06:24:30,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:24:30,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [172778556] [2022-04-28 06:24:30,704 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:24:30,704 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:24:30,715 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:24:30,715 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2028527235] [2022-04-28 06:24:30,715 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:24:30,715 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:24:30,715 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:24:30,716 INFO L229 MonitoredProcess]: Starting monitored process 25 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:30,717 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 06:24:30,773 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:24:30,773 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:24:30,774 INFO L263 TraceCheckSpWp]: Trace formula consists of 275 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 06:24:30,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:24:30,796 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:24:39,834 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:24:39,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {31896#true} call ULTIMATE.init(); {31896#true} is VALID [2022-04-28 06:24:39,951 INFO L290 TraceCheckUtils]: 1: Hoare triple {31896#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);~counter~0 := 0; {31896#true} is VALID [2022-04-28 06:24:39,951 INFO L290 TraceCheckUtils]: 2: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,951 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31896#true} {31896#true} #96#return; {31896#true} is VALID [2022-04-28 06:24:39,951 INFO L272 TraceCheckUtils]: 4: Hoare triple {31896#true} call #t~ret8 := main(); {31896#true} is VALID [2022-04-28 06:24:39,951 INFO L290 TraceCheckUtils]: 5: Hoare triple {31896#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;~B~0 := #t~nondet5;havoc #t~nondet5; {31896#true} is VALID [2022-04-28 06:24:39,951 INFO L272 TraceCheckUtils]: 6: Hoare triple {31896#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {31896#true} is VALID [2022-04-28 06:24:39,951 INFO L290 TraceCheckUtils]: 7: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,951 INFO L290 TraceCheckUtils]: 8: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,951 INFO L290 TraceCheckUtils]: 9: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,951 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31896#true} {31896#true} #80#return; {31896#true} is VALID [2022-04-28 06:24:39,951 INFO L290 TraceCheckUtils]: 11: Hoare triple {31896#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:24:39,952 INFO L290 TraceCheckUtils]: 12: Hoare triple {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:24:39,952 INFO L290 TraceCheckUtils]: 13: Hoare triple {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:24:39,952 INFO L272 TraceCheckUtils]: 14: Hoare triple {31934#(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)); {31896#true} is VALID [2022-04-28 06:24:39,952 INFO L290 TraceCheckUtils]: 15: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,952 INFO L290 TraceCheckUtils]: 16: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,952 INFO L290 TraceCheckUtils]: 17: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,953 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {31896#true} {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:24:39,953 INFO L272 TraceCheckUtils]: 19: Hoare triple {31934#(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)); {31896#true} is VALID [2022-04-28 06:24:39,953 INFO L290 TraceCheckUtils]: 20: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,953 INFO L290 TraceCheckUtils]: 21: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,953 INFO L290 TraceCheckUtils]: 22: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,953 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {31896#true} {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:24:39,954 INFO L272 TraceCheckUtils]: 24: Hoare triple {31934#(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)); {31896#true} is VALID [2022-04-28 06:24:39,954 INFO L290 TraceCheckUtils]: 25: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,954 INFO L290 TraceCheckUtils]: 26: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,954 INFO L290 TraceCheckUtils]: 27: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,954 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {31896#true} {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:24:39,956 INFO L290 TraceCheckUtils]: 29: Hoare triple {31934#(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; {31989#(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:24:39,956 INFO L290 TraceCheckUtils]: 30: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31989#(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:24:39,957 INFO L290 TraceCheckUtils]: 31: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {31989#(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:24:39,957 INFO L272 TraceCheckUtils]: 32: Hoare triple {31989#(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)); {31896#true} is VALID [2022-04-28 06:24:39,957 INFO L290 TraceCheckUtils]: 33: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,957 INFO L290 TraceCheckUtils]: 34: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,957 INFO L290 TraceCheckUtils]: 35: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,957 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {31896#true} {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #82#return; {31989#(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:24:39,957 INFO L272 TraceCheckUtils]: 37: Hoare triple {31989#(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)); {31896#true} is VALID [2022-04-28 06:24:39,957 INFO L290 TraceCheckUtils]: 38: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,957 INFO L290 TraceCheckUtils]: 39: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,957 INFO L290 TraceCheckUtils]: 40: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,958 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {31896#true} {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #84#return; {31989#(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:24:39,958 INFO L272 TraceCheckUtils]: 42: Hoare triple {31989#(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)); {31896#true} is VALID [2022-04-28 06:24:39,958 INFO L290 TraceCheckUtils]: 43: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,958 INFO L290 TraceCheckUtils]: 44: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,958 INFO L290 TraceCheckUtils]: 45: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,971 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {31896#true} {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #86#return; {31989#(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:24:39,974 INFO L290 TraceCheckUtils]: 47: Hoare triple {31989#(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; {32044#(and (= (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:24:39,975 INFO L290 TraceCheckUtils]: 48: Hoare triple {32044#(and (= (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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32044#(and (= (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:24:39,975 INFO L290 TraceCheckUtils]: 49: Hoare triple {32044#(and (= (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 !!(#t~post6 < 100);havoc #t~post6; {32044#(and (= (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:24:39,975 INFO L272 TraceCheckUtils]: 50: Hoare triple {32044#(and (= (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)); {31896#true} is VALID [2022-04-28 06:24:39,975 INFO L290 TraceCheckUtils]: 51: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,975 INFO L290 TraceCheckUtils]: 52: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,975 INFO L290 TraceCheckUtils]: 53: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,976 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {31896#true} {32044#(and (= (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))} #82#return; {32044#(and (= (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:24:39,976 INFO L272 TraceCheckUtils]: 55: Hoare triple {32044#(and (= (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)); {31896#true} is VALID [2022-04-28 06:24:39,976 INFO L290 TraceCheckUtils]: 56: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,976 INFO L290 TraceCheckUtils]: 57: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,976 INFO L290 TraceCheckUtils]: 58: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,976 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {31896#true} {32044#(and (= (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))} #84#return; {32044#(and (= (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:24:39,976 INFO L272 TraceCheckUtils]: 60: Hoare triple {32044#(and (= (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)); {31896#true} is VALID [2022-04-28 06:24:39,976 INFO L290 TraceCheckUtils]: 61: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,977 INFO L290 TraceCheckUtils]: 62: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,977 INFO L290 TraceCheckUtils]: 63: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,977 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {31896#true} {32044#(and (= (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))} #86#return; {32044#(and (= (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:24:39,978 INFO L290 TraceCheckUtils]: 65: Hoare triple {32044#(and (= (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); {32099#(and (= (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:24:39,978 INFO L290 TraceCheckUtils]: 66: Hoare triple {32099#(and (= (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))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32099#(and (= (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:24:39,978 INFO L290 TraceCheckUtils]: 67: Hoare triple {32099#(and (= (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 !!(#t~post7 < 100);havoc #t~post7; {32099#(and (= (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:24:39,978 INFO L272 TraceCheckUtils]: 68: Hoare triple {32099#(and (= (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)); {31896#true} is VALID [2022-04-28 06:24:39,979 INFO L290 TraceCheckUtils]: 69: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,979 INFO L290 TraceCheckUtils]: 70: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,979 INFO L290 TraceCheckUtils]: 71: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,979 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {31896#true} {32099#(and (= (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))} #88#return; {32099#(and (= (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:24:39,979 INFO L272 TraceCheckUtils]: 73: Hoare triple {32099#(and (= (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)); {31896#true} is VALID [2022-04-28 06:24:39,979 INFO L290 TraceCheckUtils]: 74: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,979 INFO L290 TraceCheckUtils]: 75: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,979 INFO L290 TraceCheckUtils]: 76: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,980 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {31896#true} {32099#(and (= (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))} #90#return; {32099#(and (= (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:24:39,982 INFO L290 TraceCheckUtils]: 78: Hoare triple {32099#(and (= (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); {32139#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (<= main_~p~0 2))} is VALID [2022-04-28 06:24:39,985 INFO L290 TraceCheckUtils]: 79: Hoare triple {32139#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (<= main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32143#(and (= main_~q~0 main_~p~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) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-28 06:24:39,986 INFO L290 TraceCheckUtils]: 80: Hoare triple {32143#(and (= main_~q~0 main_~p~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) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32143#(and (= main_~q~0 main_~p~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) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-28 06:24:39,986 INFO L290 TraceCheckUtils]: 81: Hoare triple {32143#(and (= main_~q~0 main_~p~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) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} assume !!(#t~post7 < 100);havoc #t~post7; {32143#(and (= main_~q~0 main_~p~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) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-28 06:24:39,986 INFO L272 TraceCheckUtils]: 82: Hoare triple {32143#(and (= main_~q~0 main_~p~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) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {31896#true} is VALID [2022-04-28 06:24:39,986 INFO L290 TraceCheckUtils]: 83: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,986 INFO L290 TraceCheckUtils]: 84: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,986 INFO L290 TraceCheckUtils]: 85: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,987 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {31896#true} {32143#(and (= main_~q~0 main_~p~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) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} #88#return; {32143#(and (= main_~q~0 main_~p~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) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-28 06:24:39,987 INFO L272 TraceCheckUtils]: 87: Hoare triple {32143#(and (= main_~q~0 main_~p~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) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {31896#true} is VALID [2022-04-28 06:24:39,987 INFO L290 TraceCheckUtils]: 88: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:39,987 INFO L290 TraceCheckUtils]: 89: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:39,987 INFO L290 TraceCheckUtils]: 90: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:39,988 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {31896#true} {32143#(and (= main_~q~0 main_~p~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) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} #90#return; {32143#(and (= main_~q~0 main_~p~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) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-28 06:24:39,992 INFO L290 TraceCheckUtils]: 92: Hoare triple {32143#(and (= main_~q~0 main_~p~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) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= 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); {32183#(and (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2)) (- 2)) 2) 0) (<= main_~q~0 2) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (not (= main_~q~0 1)) (or (and (not (= (mod main_~q~0 2) 0)) (= main_~p~0 (+ (div main_~q~0 2) 1))) (and (= main_~p~0 (div main_~q~0 2)) (= (mod main_~q~0 2) 0))) (< (* main_~r~0 2) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 06:24:39,997 INFO L290 TraceCheckUtils]: 93: Hoare triple {32183#(and (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2)) (- 2)) 2) 0) (<= main_~q~0 2) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (not (= main_~q~0 1)) (or (and (not (= (mod main_~q~0 2) 0)) (= main_~p~0 (+ (div main_~q~0 2) 1))) (and (= main_~p~0 (div main_~q~0 2)) (= (mod main_~q~0 2) 0))) (< (* 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; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-28 06:24:39,999 INFO L290 TraceCheckUtils]: 94: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-28 06:24:40,000 INFO L290 TraceCheckUtils]: 95: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} assume !!(#t~post7 < 100);havoc #t~post7; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-28 06:24:40,000 INFO L272 TraceCheckUtils]: 96: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {31896#true} is VALID [2022-04-28 06:24:40,000 INFO L290 TraceCheckUtils]: 97: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:40,000 INFO L290 TraceCheckUtils]: 98: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:40,000 INFO L290 TraceCheckUtils]: 99: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:40,001 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {31896#true} {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} #88#return; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-28 06:24:40,001 INFO L272 TraceCheckUtils]: 101: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {31896#true} is VALID [2022-04-28 06:24:40,001 INFO L290 TraceCheckUtils]: 102: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-28 06:24:40,001 INFO L290 TraceCheckUtils]: 103: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-28 06:24:40,001 INFO L290 TraceCheckUtils]: 104: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-28 06:24:40,002 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {31896#true} {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} #90#return; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-28 06:24:40,004 INFO L290 TraceCheckUtils]: 106: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} assume !(1 != ~p~0); {32227#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 main_~r~0) (= (div (+ (- 1) main_~q~0) 2) 1) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (mod (+ main_~q~0 1) 2) 0))} is VALID [2022-04-28 06:24:40,153 INFO L272 TraceCheckUtils]: 107: Hoare triple {32227#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 main_~r~0) (= (div (+ (- 1) main_~q~0) 2) 1) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (mod (+ main_~q~0 1) 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {32231#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:24:40,154 INFO L290 TraceCheckUtils]: 108: Hoare triple {32231#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32235#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:24:40,154 INFO L290 TraceCheckUtils]: 109: Hoare triple {32235#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31897#false} is VALID [2022-04-28 06:24:40,154 INFO L290 TraceCheckUtils]: 110: Hoare triple {31897#false} assume !false; {31897#false} is VALID [2022-04-28 06:24:40,154 INFO L134 CoverageAnalysis]: Checked inductivity of 484 backedges. 30 proven. 34 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-28 06:24:40,155 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:25:31,500 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:25:31,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [172778556] [2022-04-28 06:25:31,501 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:25:31,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2028527235] [2022-04-28 06:25:31,501 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2028527235] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 06:25:31,501 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 06:25:31,501 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-28 06:25:31,501 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:25:31,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1506469318] [2022-04-28 06:25:31,501 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1506469318] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:25:31,501 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:25:31,501 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 06:25:31,501 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1810088577] [2022-04-28 06:25:31,501 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:25:31,502 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 111 [2022-04-28 06:25:31,503 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:25:31,503 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:25:31,747 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:25:31,747 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 06:25:31,747 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:25:31,748 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 06:25:31,748 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=254, Unknown=0, NotChecked=0, Total=342 [2022-04-28 06:25:31,748 INFO L87 Difference]: Start difference. First operand 250 states and 286 transitions. Second operand has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:25:38,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:25:38,507 INFO L93 Difference]: Finished difference Result 258 states and 293 transitions. [2022-04-28 06:25:38,507 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 06:25:38,507 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 111 [2022-04-28 06:25:38,507 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:25:38,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:25:38,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 99 transitions. [2022-04-28 06:25:38,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:25:38,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 99 transitions. [2022-04-28 06:25:38,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 99 transitions. [2022-04-28 06:25:38,737 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:25:38,740 INFO L225 Difference]: With dead ends: 258 [2022-04-28 06:25:38,740 INFO L226 Difference]: Without dead ends: 210 [2022-04-28 06:25:38,740 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 126 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=112, Invalid=350, Unknown=0, NotChecked=0, Total=462 [2022-04-28 06:25:38,741 INFO L413 NwaCegarLoop]: 62 mSDtfsCounter, 9 mSDsluCounter, 375 mSDsCounter, 0 mSdLazyCounter, 478 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 437 SdHoareTripleChecker+Invalid, 488 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 478 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.8s IncrementalHoareTripleChecker+Time [2022-04-28 06:25:38,741 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 437 Invalid, 488 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 478 Invalid, 0 Unknown, 0 Unchecked, 3.8s Time] [2022-04-28 06:25:38,741 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-28 06:25:38,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 210. [2022-04-28 06:25:38,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:25:38,973 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 06:25:38,973 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 06:25:38,973 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 06:25:38,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:25:38,976 INFO L93 Difference]: Finished difference Result 210 states and 245 transitions. [2022-04-28 06:25:38,976 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 245 transitions. [2022-04-28 06:25:38,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:25:38,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:25:38,976 INFO L74 IsIncluded]: Start isIncluded. First operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 210 states. [2022-04-28 06:25:38,977 INFO L87 Difference]: Start difference. First operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 210 states. [2022-04-28 06:25:38,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:25:38,979 INFO L93 Difference]: Finished difference Result 210 states and 245 transitions. [2022-04-28 06:25:38,979 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 245 transitions. [2022-04-28 06:25:38,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:25:38,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:25:38,979 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:25:38,980 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:25:38,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 06:25:38,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 245 transitions. [2022-04-28 06:25:38,983 INFO L78 Accepts]: Start accepts. Automaton has 210 states and 245 transitions. Word has length 111 [2022-04-28 06:25:38,983 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:25:38,983 INFO L495 AbstractCegarLoop]: Abstraction has 210 states and 245 transitions. [2022-04-28 06:25:38,983 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 06:25:38,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 210 states and 245 transitions. [2022-04-28 06:25:41,377 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 245 edges. 244 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:25:41,377 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 245 transitions. [2022-04-28 06:25:41,378 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 116 [2022-04-28 06:25:41,378 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:25:41,378 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 6, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:25:41,394 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-28 06:25:41,594 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-28 06:25:41,594 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:25:41,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:25:41,595 INFO L85 PathProgramCache]: Analyzing trace with hash 898486511, now seen corresponding path program 9 times [2022-04-28 06:25:41,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:25:41,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1562937214] [2022-04-28 06:25:45,552 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:25:45,552 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:25:45,552 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:25:45,552 INFO L85 PathProgramCache]: Analyzing trace with hash 898486511, now seen corresponding path program 10 times [2022-04-28 06:25:45,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:25:45,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [105681749] [2022-04-28 06:25:45,552 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:25:45,552 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:25:45,560 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:25:45,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [305358664] [2022-04-28 06:25:45,560 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:25:45,561 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:25:45,561 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:25:45,561 INFO L229 MonitoredProcess]: Starting monitored process 26 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:25:45,562 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 06:25:45,620 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:25:45,620 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:25:45,621 INFO L263 TraceCheckSpWp]: Trace formula consists of 281 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 06:25:45,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:25:45,656 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:25:46,026 INFO L272 TraceCheckUtils]: 0: Hoare triple {33711#true} call ULTIMATE.init(); {33711#true} is VALID [2022-04-28 06:25:46,026 INFO L290 TraceCheckUtils]: 1: Hoare triple {33711#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);~counter~0 := 0; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:46,026 INFO L290 TraceCheckUtils]: 2: Hoare triple {33719#(<= ~counter~0 0)} assume true; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:46,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33719#(<= ~counter~0 0)} {33711#true} #96#return; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:46,027 INFO L272 TraceCheckUtils]: 4: Hoare triple {33719#(<= ~counter~0 0)} call #t~ret8 := main(); {33719#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:46,027 INFO L290 TraceCheckUtils]: 5: Hoare triple {33719#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:46,028 INFO L272 TraceCheckUtils]: 6: Hoare triple {33719#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {33719#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:46,028 INFO L290 TraceCheckUtils]: 7: Hoare triple {33719#(<= ~counter~0 0)} ~cond := #in~cond; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:46,028 INFO L290 TraceCheckUtils]: 8: Hoare triple {33719#(<= ~counter~0 0)} assume !(0 == ~cond); {33719#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:46,028 INFO L290 TraceCheckUtils]: 9: Hoare triple {33719#(<= ~counter~0 0)} assume true; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:46,029 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33719#(<= ~counter~0 0)} {33719#(<= ~counter~0 0)} #80#return; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:46,029 INFO L290 TraceCheckUtils]: 11: Hoare triple {33719#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {33719#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:46,030 INFO L290 TraceCheckUtils]: 12: Hoare triple {33719#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,030 INFO L290 TraceCheckUtils]: 13: Hoare triple {33753#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,030 INFO L272 TraceCheckUtils]: 14: Hoare triple {33753#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,031 INFO L290 TraceCheckUtils]: 15: Hoare triple {33753#(<= ~counter~0 1)} ~cond := #in~cond; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,031 INFO L290 TraceCheckUtils]: 16: Hoare triple {33753#(<= ~counter~0 1)} assume !(0 == ~cond); {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,031 INFO L290 TraceCheckUtils]: 17: Hoare triple {33753#(<= ~counter~0 1)} assume true; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,031 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {33753#(<= ~counter~0 1)} {33753#(<= ~counter~0 1)} #82#return; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,032 INFO L272 TraceCheckUtils]: 19: Hoare triple {33753#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,032 INFO L290 TraceCheckUtils]: 20: Hoare triple {33753#(<= ~counter~0 1)} ~cond := #in~cond; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,032 INFO L290 TraceCheckUtils]: 21: Hoare triple {33753#(<= ~counter~0 1)} assume !(0 == ~cond); {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,033 INFO L290 TraceCheckUtils]: 22: Hoare triple {33753#(<= ~counter~0 1)} assume true; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,033 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {33753#(<= ~counter~0 1)} {33753#(<= ~counter~0 1)} #84#return; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,033 INFO L272 TraceCheckUtils]: 24: Hoare triple {33753#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,034 INFO L290 TraceCheckUtils]: 25: Hoare triple {33753#(<= ~counter~0 1)} ~cond := #in~cond; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,034 INFO L290 TraceCheckUtils]: 26: Hoare triple {33753#(<= ~counter~0 1)} assume !(0 == ~cond); {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,034 INFO L290 TraceCheckUtils]: 27: Hoare triple {33753#(<= ~counter~0 1)} assume true; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,034 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {33753#(<= ~counter~0 1)} {33753#(<= ~counter~0 1)} #86#return; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,035 INFO L290 TraceCheckUtils]: 29: Hoare triple {33753#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33753#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:46,035 INFO L290 TraceCheckUtils]: 30: Hoare triple {33753#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,035 INFO L290 TraceCheckUtils]: 31: Hoare triple {33808#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,036 INFO L272 TraceCheckUtils]: 32: Hoare triple {33808#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,036 INFO L290 TraceCheckUtils]: 33: Hoare triple {33808#(<= ~counter~0 2)} ~cond := #in~cond; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,036 INFO L290 TraceCheckUtils]: 34: Hoare triple {33808#(<= ~counter~0 2)} assume !(0 == ~cond); {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,036 INFO L290 TraceCheckUtils]: 35: Hoare triple {33808#(<= ~counter~0 2)} assume true; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,037 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {33808#(<= ~counter~0 2)} {33808#(<= ~counter~0 2)} #82#return; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,037 INFO L272 TraceCheckUtils]: 37: Hoare triple {33808#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,037 INFO L290 TraceCheckUtils]: 38: Hoare triple {33808#(<= ~counter~0 2)} ~cond := #in~cond; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,038 INFO L290 TraceCheckUtils]: 39: Hoare triple {33808#(<= ~counter~0 2)} assume !(0 == ~cond); {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,038 INFO L290 TraceCheckUtils]: 40: Hoare triple {33808#(<= ~counter~0 2)} assume true; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,038 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {33808#(<= ~counter~0 2)} {33808#(<= ~counter~0 2)} #84#return; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,039 INFO L272 TraceCheckUtils]: 42: Hoare triple {33808#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,039 INFO L290 TraceCheckUtils]: 43: Hoare triple {33808#(<= ~counter~0 2)} ~cond := #in~cond; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,039 INFO L290 TraceCheckUtils]: 44: Hoare triple {33808#(<= ~counter~0 2)} assume !(0 == ~cond); {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,039 INFO L290 TraceCheckUtils]: 45: Hoare triple {33808#(<= ~counter~0 2)} assume true; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,040 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {33808#(<= ~counter~0 2)} {33808#(<= ~counter~0 2)} #86#return; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,040 INFO L290 TraceCheckUtils]: 47: Hoare triple {33808#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33808#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:46,040 INFO L290 TraceCheckUtils]: 48: Hoare triple {33808#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,041 INFO L290 TraceCheckUtils]: 49: Hoare triple {33863#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,041 INFO L272 TraceCheckUtils]: 50: Hoare triple {33863#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,041 INFO L290 TraceCheckUtils]: 51: Hoare triple {33863#(<= ~counter~0 3)} ~cond := #in~cond; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,042 INFO L290 TraceCheckUtils]: 52: Hoare triple {33863#(<= ~counter~0 3)} assume !(0 == ~cond); {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,042 INFO L290 TraceCheckUtils]: 53: Hoare triple {33863#(<= ~counter~0 3)} assume true; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,042 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {33863#(<= ~counter~0 3)} {33863#(<= ~counter~0 3)} #82#return; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,042 INFO L272 TraceCheckUtils]: 55: Hoare triple {33863#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,043 INFO L290 TraceCheckUtils]: 56: Hoare triple {33863#(<= ~counter~0 3)} ~cond := #in~cond; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,043 INFO L290 TraceCheckUtils]: 57: Hoare triple {33863#(<= ~counter~0 3)} assume !(0 == ~cond); {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,043 INFO L290 TraceCheckUtils]: 58: Hoare triple {33863#(<= ~counter~0 3)} assume true; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,044 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {33863#(<= ~counter~0 3)} {33863#(<= ~counter~0 3)} #84#return; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,044 INFO L272 TraceCheckUtils]: 60: Hoare triple {33863#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,044 INFO L290 TraceCheckUtils]: 61: Hoare triple {33863#(<= ~counter~0 3)} ~cond := #in~cond; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,045 INFO L290 TraceCheckUtils]: 62: Hoare triple {33863#(<= ~counter~0 3)} assume !(0 == ~cond); {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,045 INFO L290 TraceCheckUtils]: 63: Hoare triple {33863#(<= ~counter~0 3)} assume true; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,045 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {33863#(<= ~counter~0 3)} {33863#(<= ~counter~0 3)} #86#return; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,046 INFO L290 TraceCheckUtils]: 65: Hoare triple {33863#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33863#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:46,046 INFO L290 TraceCheckUtils]: 66: Hoare triple {33863#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,046 INFO L290 TraceCheckUtils]: 67: Hoare triple {33918#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,047 INFO L272 TraceCheckUtils]: 68: Hoare triple {33918#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,047 INFO L290 TraceCheckUtils]: 69: Hoare triple {33918#(<= ~counter~0 4)} ~cond := #in~cond; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,047 INFO L290 TraceCheckUtils]: 70: Hoare triple {33918#(<= ~counter~0 4)} assume !(0 == ~cond); {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,048 INFO L290 TraceCheckUtils]: 71: Hoare triple {33918#(<= ~counter~0 4)} assume true; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,048 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {33918#(<= ~counter~0 4)} {33918#(<= ~counter~0 4)} #82#return; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,048 INFO L272 TraceCheckUtils]: 73: Hoare triple {33918#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,048 INFO L290 TraceCheckUtils]: 74: Hoare triple {33918#(<= ~counter~0 4)} ~cond := #in~cond; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,049 INFO L290 TraceCheckUtils]: 75: Hoare triple {33918#(<= ~counter~0 4)} assume !(0 == ~cond); {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,049 INFO L290 TraceCheckUtils]: 76: Hoare triple {33918#(<= ~counter~0 4)} assume true; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,049 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {33918#(<= ~counter~0 4)} {33918#(<= ~counter~0 4)} #84#return; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,050 INFO L272 TraceCheckUtils]: 78: Hoare triple {33918#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,050 INFO L290 TraceCheckUtils]: 79: Hoare triple {33918#(<= ~counter~0 4)} ~cond := #in~cond; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,050 INFO L290 TraceCheckUtils]: 80: Hoare triple {33918#(<= ~counter~0 4)} assume !(0 == ~cond); {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,050 INFO L290 TraceCheckUtils]: 81: Hoare triple {33918#(<= ~counter~0 4)} assume true; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,051 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {33918#(<= ~counter~0 4)} {33918#(<= ~counter~0 4)} #86#return; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,051 INFO L290 TraceCheckUtils]: 83: Hoare triple {33918#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33918#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:46,052 INFO L290 TraceCheckUtils]: 84: Hoare triple {33918#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,052 INFO L290 TraceCheckUtils]: 85: Hoare triple {33973#(<= ~counter~0 5)} assume !!(#t~post6 < 100);havoc #t~post6; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,052 INFO L272 TraceCheckUtils]: 86: Hoare triple {33973#(<= ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,052 INFO L290 TraceCheckUtils]: 87: Hoare triple {33973#(<= ~counter~0 5)} ~cond := #in~cond; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,053 INFO L290 TraceCheckUtils]: 88: Hoare triple {33973#(<= ~counter~0 5)} assume !(0 == ~cond); {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,053 INFO L290 TraceCheckUtils]: 89: Hoare triple {33973#(<= ~counter~0 5)} assume true; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,053 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {33973#(<= ~counter~0 5)} {33973#(<= ~counter~0 5)} #82#return; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,054 INFO L272 TraceCheckUtils]: 91: Hoare triple {33973#(<= ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,054 INFO L290 TraceCheckUtils]: 92: Hoare triple {33973#(<= ~counter~0 5)} ~cond := #in~cond; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,054 INFO L290 TraceCheckUtils]: 93: Hoare triple {33973#(<= ~counter~0 5)} assume !(0 == ~cond); {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,054 INFO L290 TraceCheckUtils]: 94: Hoare triple {33973#(<= ~counter~0 5)} assume true; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,055 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {33973#(<= ~counter~0 5)} {33973#(<= ~counter~0 5)} #84#return; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,055 INFO L272 TraceCheckUtils]: 96: Hoare triple {33973#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,055 INFO L290 TraceCheckUtils]: 97: Hoare triple {33973#(<= ~counter~0 5)} ~cond := #in~cond; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,055 INFO L290 TraceCheckUtils]: 98: Hoare triple {33973#(<= ~counter~0 5)} assume !(0 == ~cond); {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,056 INFO L290 TraceCheckUtils]: 99: Hoare triple {33973#(<= ~counter~0 5)} assume true; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,056 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {33973#(<= ~counter~0 5)} {33973#(<= ~counter~0 5)} #86#return; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,056 INFO L290 TraceCheckUtils]: 101: Hoare triple {33973#(<= ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33973#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:46,057 INFO L290 TraceCheckUtils]: 102: Hoare triple {33973#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34028#(<= |main_#t~post6| 5)} is VALID [2022-04-28 06:25:46,057 INFO L290 TraceCheckUtils]: 103: Hoare triple {34028#(<= |main_#t~post6| 5)} assume !(#t~post6 < 100);havoc #t~post6; {33712#false} is VALID [2022-04-28 06:25:46,057 INFO L290 TraceCheckUtils]: 104: Hoare triple {33712#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33712#false} is VALID [2022-04-28 06:25:46,057 INFO L290 TraceCheckUtils]: 105: Hoare triple {33712#false} assume !(#t~post7 < 100);havoc #t~post7; {33712#false} is VALID [2022-04-28 06:25:46,057 INFO L272 TraceCheckUtils]: 106: Hoare triple {33712#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {33712#false} is VALID [2022-04-28 06:25:46,057 INFO L290 TraceCheckUtils]: 107: Hoare triple {33712#false} ~cond := #in~cond; {33712#false} is VALID [2022-04-28 06:25:46,057 INFO L290 TraceCheckUtils]: 108: Hoare triple {33712#false} assume !(0 == ~cond); {33712#false} is VALID [2022-04-28 06:25:46,057 INFO L290 TraceCheckUtils]: 109: Hoare triple {33712#false} assume true; {33712#false} is VALID [2022-04-28 06:25:46,057 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {33712#false} {33712#false} #92#return; {33712#false} is VALID [2022-04-28 06:25:46,057 INFO L272 TraceCheckUtils]: 111: Hoare triple {33712#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {33712#false} is VALID [2022-04-28 06:25:46,057 INFO L290 TraceCheckUtils]: 112: Hoare triple {33712#false} ~cond := #in~cond; {33712#false} is VALID [2022-04-28 06:25:46,057 INFO L290 TraceCheckUtils]: 113: Hoare triple {33712#false} assume 0 == ~cond; {33712#false} is VALID [2022-04-28 06:25:46,058 INFO L290 TraceCheckUtils]: 114: Hoare triple {33712#false} assume !false; {33712#false} is VALID [2022-04-28 06:25:46,058 INFO L134 CoverageAnalysis]: Checked inductivity of 582 backedges. 90 proven. 430 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-04-28 06:25:46,058 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:25:46,456 INFO L290 TraceCheckUtils]: 114: Hoare triple {33712#false} assume !false; {33712#false} is VALID [2022-04-28 06:25:46,457 INFO L290 TraceCheckUtils]: 113: Hoare triple {33712#false} assume 0 == ~cond; {33712#false} is VALID [2022-04-28 06:25:46,457 INFO L290 TraceCheckUtils]: 112: Hoare triple {33712#false} ~cond := #in~cond; {33712#false} is VALID [2022-04-28 06:25:46,457 INFO L272 TraceCheckUtils]: 111: Hoare triple {33712#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {33712#false} is VALID [2022-04-28 06:25:46,457 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {33711#true} {33712#false} #92#return; {33712#false} is VALID [2022-04-28 06:25:46,457 INFO L290 TraceCheckUtils]: 109: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,457 INFO L290 TraceCheckUtils]: 108: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,457 INFO L290 TraceCheckUtils]: 107: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,457 INFO L272 TraceCheckUtils]: 106: Hoare triple {33712#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,457 INFO L290 TraceCheckUtils]: 105: Hoare triple {33712#false} assume !(#t~post7 < 100);havoc #t~post7; {33712#false} is VALID [2022-04-28 06:25:46,457 INFO L290 TraceCheckUtils]: 104: Hoare triple {33712#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33712#false} is VALID [2022-04-28 06:25:46,457 INFO L290 TraceCheckUtils]: 103: Hoare triple {34098#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {33712#false} is VALID [2022-04-28 06:25:46,458 INFO L290 TraceCheckUtils]: 102: Hoare triple {34102#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34098#(< |main_#t~post6| 100)} is VALID [2022-04-28 06:25:46,458 INFO L290 TraceCheckUtils]: 101: Hoare triple {34102#(< ~counter~0 100)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34102#(< ~counter~0 100)} is VALID [2022-04-28 06:25:46,459 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {33711#true} {34102#(< ~counter~0 100)} #86#return; {34102#(< ~counter~0 100)} is VALID [2022-04-28 06:25:46,459 INFO L290 TraceCheckUtils]: 99: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,459 INFO L290 TraceCheckUtils]: 98: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,459 INFO L290 TraceCheckUtils]: 97: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,460 INFO L272 TraceCheckUtils]: 96: Hoare triple {34102#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,460 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {33711#true} {34102#(< ~counter~0 100)} #84#return; {34102#(< ~counter~0 100)} is VALID [2022-04-28 06:25:46,460 INFO L290 TraceCheckUtils]: 94: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,460 INFO L290 TraceCheckUtils]: 93: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,460 INFO L290 TraceCheckUtils]: 92: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,460 INFO L272 TraceCheckUtils]: 91: Hoare triple {34102#(< ~counter~0 100)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,461 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {33711#true} {34102#(< ~counter~0 100)} #82#return; {34102#(< ~counter~0 100)} is VALID [2022-04-28 06:25:46,461 INFO L290 TraceCheckUtils]: 89: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,461 INFO L290 TraceCheckUtils]: 88: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,461 INFO L290 TraceCheckUtils]: 87: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,461 INFO L272 TraceCheckUtils]: 86: Hoare triple {34102#(< ~counter~0 100)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,461 INFO L290 TraceCheckUtils]: 85: Hoare triple {34102#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {34102#(< ~counter~0 100)} is VALID [2022-04-28 06:25:46,462 INFO L290 TraceCheckUtils]: 84: Hoare triple {34157#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34102#(< ~counter~0 100)} is VALID [2022-04-28 06:25:46,462 INFO L290 TraceCheckUtils]: 83: Hoare triple {34157#(< ~counter~0 99)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34157#(< ~counter~0 99)} is VALID [2022-04-28 06:25:46,463 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {33711#true} {34157#(< ~counter~0 99)} #86#return; {34157#(< ~counter~0 99)} is VALID [2022-04-28 06:25:46,463 INFO L290 TraceCheckUtils]: 81: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,463 INFO L290 TraceCheckUtils]: 80: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,463 INFO L290 TraceCheckUtils]: 79: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,463 INFO L272 TraceCheckUtils]: 78: Hoare triple {34157#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,463 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {33711#true} {34157#(< ~counter~0 99)} #84#return; {34157#(< ~counter~0 99)} is VALID [2022-04-28 06:25:46,464 INFO L290 TraceCheckUtils]: 76: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,464 INFO L290 TraceCheckUtils]: 75: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,464 INFO L290 TraceCheckUtils]: 74: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,464 INFO L272 TraceCheckUtils]: 73: Hoare triple {34157#(< ~counter~0 99)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,464 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {33711#true} {34157#(< ~counter~0 99)} #82#return; {34157#(< ~counter~0 99)} is VALID [2022-04-28 06:25:46,464 INFO L290 TraceCheckUtils]: 71: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,464 INFO L290 TraceCheckUtils]: 70: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,464 INFO L290 TraceCheckUtils]: 69: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,464 INFO L272 TraceCheckUtils]: 68: Hoare triple {34157#(< ~counter~0 99)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,465 INFO L290 TraceCheckUtils]: 67: Hoare triple {34157#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {34157#(< ~counter~0 99)} is VALID [2022-04-28 06:25:46,465 INFO L290 TraceCheckUtils]: 66: Hoare triple {34212#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34157#(< ~counter~0 99)} is VALID [2022-04-28 06:25:46,465 INFO L290 TraceCheckUtils]: 65: Hoare triple {34212#(< ~counter~0 98)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34212#(< ~counter~0 98)} is VALID [2022-04-28 06:25:46,466 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {33711#true} {34212#(< ~counter~0 98)} #86#return; {34212#(< ~counter~0 98)} is VALID [2022-04-28 06:25:46,466 INFO L290 TraceCheckUtils]: 63: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,466 INFO L290 TraceCheckUtils]: 62: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,466 INFO L290 TraceCheckUtils]: 61: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,466 INFO L272 TraceCheckUtils]: 60: Hoare triple {34212#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,466 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {33711#true} {34212#(< ~counter~0 98)} #84#return; {34212#(< ~counter~0 98)} is VALID [2022-04-28 06:25:46,466 INFO L290 TraceCheckUtils]: 58: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,467 INFO L290 TraceCheckUtils]: 57: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,467 INFO L290 TraceCheckUtils]: 56: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,467 INFO L272 TraceCheckUtils]: 55: Hoare triple {34212#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,467 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {33711#true} {34212#(< ~counter~0 98)} #82#return; {34212#(< ~counter~0 98)} is VALID [2022-04-28 06:25:46,467 INFO L290 TraceCheckUtils]: 53: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,467 INFO L290 TraceCheckUtils]: 52: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,467 INFO L290 TraceCheckUtils]: 51: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,467 INFO L272 TraceCheckUtils]: 50: Hoare triple {34212#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,467 INFO L290 TraceCheckUtils]: 49: Hoare triple {34212#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {34212#(< ~counter~0 98)} is VALID [2022-04-28 06:25:46,468 INFO L290 TraceCheckUtils]: 48: Hoare triple {34267#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34212#(< ~counter~0 98)} is VALID [2022-04-28 06:25:46,468 INFO L290 TraceCheckUtils]: 47: Hoare triple {34267#(< ~counter~0 97)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34267#(< ~counter~0 97)} is VALID [2022-04-28 06:25:46,469 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {33711#true} {34267#(< ~counter~0 97)} #86#return; {34267#(< ~counter~0 97)} is VALID [2022-04-28 06:25:46,469 INFO L290 TraceCheckUtils]: 45: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,469 INFO L290 TraceCheckUtils]: 44: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,469 INFO L290 TraceCheckUtils]: 43: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,469 INFO L272 TraceCheckUtils]: 42: Hoare triple {34267#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,469 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {33711#true} {34267#(< ~counter~0 97)} #84#return; {34267#(< ~counter~0 97)} is VALID [2022-04-28 06:25:46,469 INFO L290 TraceCheckUtils]: 40: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,469 INFO L290 TraceCheckUtils]: 39: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,469 INFO L290 TraceCheckUtils]: 38: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,469 INFO L272 TraceCheckUtils]: 37: Hoare triple {34267#(< ~counter~0 97)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,483 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {33711#true} {34267#(< ~counter~0 97)} #82#return; {34267#(< ~counter~0 97)} is VALID [2022-04-28 06:25:46,483 INFO L290 TraceCheckUtils]: 35: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,483 INFO L290 TraceCheckUtils]: 34: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,483 INFO L290 TraceCheckUtils]: 33: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,483 INFO L272 TraceCheckUtils]: 32: Hoare triple {34267#(< ~counter~0 97)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,484 INFO L290 TraceCheckUtils]: 31: Hoare triple {34267#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {34267#(< ~counter~0 97)} is VALID [2022-04-28 06:25:46,484 INFO L290 TraceCheckUtils]: 30: Hoare triple {34322#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34267#(< ~counter~0 97)} is VALID [2022-04-28 06:25:46,485 INFO L290 TraceCheckUtils]: 29: Hoare triple {34322#(< ~counter~0 96)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34322#(< ~counter~0 96)} is VALID [2022-04-28 06:25:46,485 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {33711#true} {34322#(< ~counter~0 96)} #86#return; {34322#(< ~counter~0 96)} is VALID [2022-04-28 06:25:46,485 INFO L290 TraceCheckUtils]: 27: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,485 INFO L290 TraceCheckUtils]: 26: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,485 INFO L290 TraceCheckUtils]: 25: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,485 INFO L272 TraceCheckUtils]: 24: Hoare triple {34322#(< ~counter~0 96)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,486 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {33711#true} {34322#(< ~counter~0 96)} #84#return; {34322#(< ~counter~0 96)} is VALID [2022-04-28 06:25:46,486 INFO L290 TraceCheckUtils]: 22: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,486 INFO L290 TraceCheckUtils]: 21: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,486 INFO L290 TraceCheckUtils]: 20: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,486 INFO L272 TraceCheckUtils]: 19: Hoare triple {34322#(< ~counter~0 96)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,486 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {33711#true} {34322#(< ~counter~0 96)} #82#return; {34322#(< ~counter~0 96)} is VALID [2022-04-28 06:25:46,486 INFO L290 TraceCheckUtils]: 17: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,486 INFO L290 TraceCheckUtils]: 16: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,487 INFO L290 TraceCheckUtils]: 15: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,487 INFO L272 TraceCheckUtils]: 14: Hoare triple {34322#(< ~counter~0 96)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,487 INFO L290 TraceCheckUtils]: 13: Hoare triple {34322#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {34322#(< ~counter~0 96)} is VALID [2022-04-28 06:25:46,487 INFO L290 TraceCheckUtils]: 12: Hoare triple {34377#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34322#(< ~counter~0 96)} is VALID [2022-04-28 06:25:46,488 INFO L290 TraceCheckUtils]: 11: Hoare triple {34377#(< ~counter~0 95)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {34377#(< ~counter~0 95)} is VALID [2022-04-28 06:25:46,488 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33711#true} {34377#(< ~counter~0 95)} #80#return; {34377#(< ~counter~0 95)} is VALID [2022-04-28 06:25:46,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-28 06:25:46,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-28 06:25:46,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-28 06:25:46,488 INFO L272 TraceCheckUtils]: 6: Hoare triple {34377#(< ~counter~0 95)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {33711#true} is VALID [2022-04-28 06:25:46,488 INFO L290 TraceCheckUtils]: 5: Hoare triple {34377#(< ~counter~0 95)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {34377#(< ~counter~0 95)} is VALID [2022-04-28 06:25:46,489 INFO L272 TraceCheckUtils]: 4: Hoare triple {34377#(< ~counter~0 95)} call #t~ret8 := main(); {34377#(< ~counter~0 95)} is VALID [2022-04-28 06:25:46,489 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34377#(< ~counter~0 95)} {33711#true} #96#return; {34377#(< ~counter~0 95)} is VALID [2022-04-28 06:25:46,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {34377#(< ~counter~0 95)} assume true; {34377#(< ~counter~0 95)} is VALID [2022-04-28 06:25:46,490 INFO L290 TraceCheckUtils]: 1: Hoare triple {33711#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);~counter~0 := 0; {34377#(< ~counter~0 95)} is VALID [2022-04-28 06:25:46,490 INFO L272 TraceCheckUtils]: 0: Hoare triple {33711#true} call ULTIMATE.init(); {33711#true} is VALID [2022-04-28 06:25:46,490 INFO L134 CoverageAnalysis]: Checked inductivity of 582 backedges. 32 proven. 70 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-28 06:25:46,490 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:25:46,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [105681749] [2022-04-28 06:25:46,490 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:25:46,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [305358664] [2022-04-28 06:25:46,491 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [305358664] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:25:46,491 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:25:46,491 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-28 06:25:46,491 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:25:46,491 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1562937214] [2022-04-28 06:25:46,491 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1562937214] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:25:46,491 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:25:46,491 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 06:25:46,491 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [336468888] [2022-04-28 06:25:46,491 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:25:46,491 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 115 [2022-04-28 06:25:46,492 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:25:46,492 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 06:25:46,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:25:46,579 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 06:25:46,579 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:25:46,579 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 06:25:46,579 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-28 06:25:46,579 INFO L87 Difference]: Start difference. First operand 210 states and 245 transitions. Second operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 06:25:47,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:25:47,350 INFO L93 Difference]: Finished difference Result 255 states and 307 transitions. [2022-04-28 06:25:47,350 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 06:25:47,351 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 115 [2022-04-28 06:25:47,351 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:25:47,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 06:25:47,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 135 transitions. [2022-04-28 06:25:47,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 06:25:47,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 135 transitions. [2022-04-28 06:25:47,353 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 135 transitions. [2022-04-28 06:25:47,475 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:25:47,478 INFO L225 Difference]: With dead ends: 255 [2022-04-28 06:25:47,478 INFO L226 Difference]: Without dead ends: 212 [2022-04-28 06:25:47,478 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 234 GetRequests, 215 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=171, Invalid=249, Unknown=0, NotChecked=0, Total=420 [2022-04-28 06:25:47,479 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 15 mSDsluCounter, 179 mSDsCounter, 0 mSdLazyCounter, 94 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 100 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 94 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:25:47,479 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 235 Invalid, 100 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 94 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:25:47,479 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-28 06:25:47,718 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-28 06:25:47,719 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:25:47,719 INFO L82 GeneralOperation]: Start isEquivalent. First operand 212 states. Second operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 06:25:47,719 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 06:25:47,719 INFO L87 Difference]: Start difference. First operand 212 states. Second operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 06:25:47,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:25:47,722 INFO L93 Difference]: Finished difference Result 212 states and 247 transitions. [2022-04-28 06:25:47,722 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 247 transitions. [2022-04-28 06:25:47,722 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:25:47,722 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:25:47,723 INFO L74 IsIncluded]: Start isIncluded. First operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 212 states. [2022-04-28 06:25:47,723 INFO L87 Difference]: Start difference. First operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 212 states. [2022-04-28 06:25:47,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:25:47,725 INFO L93 Difference]: Finished difference Result 212 states and 247 transitions. [2022-04-28 06:25:47,725 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 247 transitions. [2022-04-28 06:25:47,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:25:47,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:25:47,726 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:25:47,726 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:25:47,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-28 06:25:47,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 247 transitions. [2022-04-28 06:25:47,729 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 247 transitions. Word has length 115 [2022-04-28 06:25:47,729 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:25:47,729 INFO L495 AbstractCegarLoop]: Abstraction has 212 states and 247 transitions. [2022-04-28 06:25:47,729 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 06:25:47,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 247 transitions. [2022-04-28 06:25:50,138 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 247 edges. 246 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:25:50,139 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 247 transitions. [2022-04-28 06:25:50,139 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-28 06:25:50,139 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:25:50,139 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 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:25:50,156 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Ended with exit code 0 [2022-04-28 06:25:50,340 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 06:25:50,340 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:25:50,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:25:50,340 INFO L85 PathProgramCache]: Analyzing trace with hash 1562534599, now seen corresponding path program 7 times [2022-04-28 06:25:50,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:25:50,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1365833519] [2022-04-28 06:25:58,309 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:25:58,309 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:25:58,309 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:25:58,309 INFO L85 PathProgramCache]: Analyzing trace with hash 1562534599, now seen corresponding path program 8 times [2022-04-28 06:25:58,309 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:25:58,309 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [286636836] [2022-04-28 06:25:58,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:25:58,309 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:25:58,318 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:25:58,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [495267994] [2022-04-28 06:25:58,318 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:25:58,318 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:25:58,318 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:25:58,319 INFO L229 MonitoredProcess]: Starting monitored process 27 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:25:58,320 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 06:25:58,372 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:25:58,372 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:25:58,373 INFO L263 TraceCheckSpWp]: Trace formula consists of 292 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 06:25:58,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:25:58,393 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:25:58,796 INFO L272 TraceCheckUtils]: 0: Hoare triple {35784#true} call ULTIMATE.init(); {35784#true} is VALID [2022-04-28 06:25:58,796 INFO L290 TraceCheckUtils]: 1: Hoare triple {35784#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);~counter~0 := 0; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:58,796 INFO L290 TraceCheckUtils]: 2: Hoare triple {35792#(<= ~counter~0 0)} assume true; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:58,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35792#(<= ~counter~0 0)} {35784#true} #96#return; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:58,798 INFO L272 TraceCheckUtils]: 4: Hoare triple {35792#(<= ~counter~0 0)} call #t~ret8 := main(); {35792#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:58,799 INFO L290 TraceCheckUtils]: 5: Hoare triple {35792#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:58,799 INFO L272 TraceCheckUtils]: 6: Hoare triple {35792#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {35792#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:58,799 INFO L290 TraceCheckUtils]: 7: Hoare triple {35792#(<= ~counter~0 0)} ~cond := #in~cond; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:58,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {35792#(<= ~counter~0 0)} assume !(0 == ~cond); {35792#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:58,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {35792#(<= ~counter~0 0)} assume true; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:58,800 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35792#(<= ~counter~0 0)} {35792#(<= ~counter~0 0)} #80#return; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:58,800 INFO L290 TraceCheckUtils]: 11: Hoare triple {35792#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {35792#(<= ~counter~0 0)} is VALID [2022-04-28 06:25:58,801 INFO L290 TraceCheckUtils]: 12: Hoare triple {35792#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,802 INFO L290 TraceCheckUtils]: 13: Hoare triple {35826#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,802 INFO L272 TraceCheckUtils]: 14: Hoare triple {35826#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,802 INFO L290 TraceCheckUtils]: 15: Hoare triple {35826#(<= ~counter~0 1)} ~cond := #in~cond; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,802 INFO L290 TraceCheckUtils]: 16: Hoare triple {35826#(<= ~counter~0 1)} assume !(0 == ~cond); {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,803 INFO L290 TraceCheckUtils]: 17: Hoare triple {35826#(<= ~counter~0 1)} assume true; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,804 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {35826#(<= ~counter~0 1)} {35826#(<= ~counter~0 1)} #82#return; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,804 INFO L272 TraceCheckUtils]: 19: Hoare triple {35826#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,804 INFO L290 TraceCheckUtils]: 20: Hoare triple {35826#(<= ~counter~0 1)} ~cond := #in~cond; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,804 INFO L290 TraceCheckUtils]: 21: Hoare triple {35826#(<= ~counter~0 1)} assume !(0 == ~cond); {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,805 INFO L290 TraceCheckUtils]: 22: Hoare triple {35826#(<= ~counter~0 1)} assume true; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,805 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {35826#(<= ~counter~0 1)} {35826#(<= ~counter~0 1)} #84#return; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,805 INFO L272 TraceCheckUtils]: 24: Hoare triple {35826#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {35826#(<= ~counter~0 1)} ~cond := #in~cond; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,806 INFO L290 TraceCheckUtils]: 26: Hoare triple {35826#(<= ~counter~0 1)} assume !(0 == ~cond); {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,806 INFO L290 TraceCheckUtils]: 27: Hoare triple {35826#(<= ~counter~0 1)} assume true; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,806 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {35826#(<= ~counter~0 1)} {35826#(<= ~counter~0 1)} #86#return; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,807 INFO L290 TraceCheckUtils]: 29: Hoare triple {35826#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35826#(<= ~counter~0 1)} is VALID [2022-04-28 06:25:58,807 INFO L290 TraceCheckUtils]: 30: Hoare triple {35826#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,807 INFO L290 TraceCheckUtils]: 31: Hoare triple {35881#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,808 INFO L272 TraceCheckUtils]: 32: Hoare triple {35881#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,808 INFO L290 TraceCheckUtils]: 33: Hoare triple {35881#(<= ~counter~0 2)} ~cond := #in~cond; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,808 INFO L290 TraceCheckUtils]: 34: Hoare triple {35881#(<= ~counter~0 2)} assume !(0 == ~cond); {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,809 INFO L290 TraceCheckUtils]: 35: Hoare triple {35881#(<= ~counter~0 2)} assume true; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,809 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35881#(<= ~counter~0 2)} {35881#(<= ~counter~0 2)} #82#return; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,809 INFO L272 TraceCheckUtils]: 37: Hoare triple {35881#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,809 INFO L290 TraceCheckUtils]: 38: Hoare triple {35881#(<= ~counter~0 2)} ~cond := #in~cond; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,810 INFO L290 TraceCheckUtils]: 39: Hoare triple {35881#(<= ~counter~0 2)} assume !(0 == ~cond); {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,810 INFO L290 TraceCheckUtils]: 40: Hoare triple {35881#(<= ~counter~0 2)} assume true; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,810 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35881#(<= ~counter~0 2)} {35881#(<= ~counter~0 2)} #84#return; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,811 INFO L272 TraceCheckUtils]: 42: Hoare triple {35881#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,811 INFO L290 TraceCheckUtils]: 43: Hoare triple {35881#(<= ~counter~0 2)} ~cond := #in~cond; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,811 INFO L290 TraceCheckUtils]: 44: Hoare triple {35881#(<= ~counter~0 2)} assume !(0 == ~cond); {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,811 INFO L290 TraceCheckUtils]: 45: Hoare triple {35881#(<= ~counter~0 2)} assume true; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,812 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35881#(<= ~counter~0 2)} {35881#(<= ~counter~0 2)} #86#return; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,812 INFO L290 TraceCheckUtils]: 47: Hoare triple {35881#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35881#(<= ~counter~0 2)} is VALID [2022-04-28 06:25:58,812 INFO L290 TraceCheckUtils]: 48: Hoare triple {35881#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,813 INFO L290 TraceCheckUtils]: 49: Hoare triple {35936#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,813 INFO L272 TraceCheckUtils]: 50: Hoare triple {35936#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,813 INFO L290 TraceCheckUtils]: 51: Hoare triple {35936#(<= ~counter~0 3)} ~cond := #in~cond; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,814 INFO L290 TraceCheckUtils]: 52: Hoare triple {35936#(<= ~counter~0 3)} assume !(0 == ~cond); {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,814 INFO L290 TraceCheckUtils]: 53: Hoare triple {35936#(<= ~counter~0 3)} assume true; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,814 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {35936#(<= ~counter~0 3)} {35936#(<= ~counter~0 3)} #82#return; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,814 INFO L272 TraceCheckUtils]: 55: Hoare triple {35936#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,815 INFO L290 TraceCheckUtils]: 56: Hoare triple {35936#(<= ~counter~0 3)} ~cond := #in~cond; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,815 INFO L290 TraceCheckUtils]: 57: Hoare triple {35936#(<= ~counter~0 3)} assume !(0 == ~cond); {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,815 INFO L290 TraceCheckUtils]: 58: Hoare triple {35936#(<= ~counter~0 3)} assume true; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,816 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35936#(<= ~counter~0 3)} {35936#(<= ~counter~0 3)} #84#return; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,816 INFO L272 TraceCheckUtils]: 60: Hoare triple {35936#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,816 INFO L290 TraceCheckUtils]: 61: Hoare triple {35936#(<= ~counter~0 3)} ~cond := #in~cond; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,816 INFO L290 TraceCheckUtils]: 62: Hoare triple {35936#(<= ~counter~0 3)} assume !(0 == ~cond); {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,817 INFO L290 TraceCheckUtils]: 63: Hoare triple {35936#(<= ~counter~0 3)} assume true; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,817 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35936#(<= ~counter~0 3)} {35936#(<= ~counter~0 3)} #86#return; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,817 INFO L290 TraceCheckUtils]: 65: Hoare triple {35936#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35936#(<= ~counter~0 3)} is VALID [2022-04-28 06:25:58,818 INFO L290 TraceCheckUtils]: 66: Hoare triple {35936#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,818 INFO L290 TraceCheckUtils]: 67: Hoare triple {35991#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,818 INFO L272 TraceCheckUtils]: 68: Hoare triple {35991#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,819 INFO L290 TraceCheckUtils]: 69: Hoare triple {35991#(<= ~counter~0 4)} ~cond := #in~cond; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,819 INFO L290 TraceCheckUtils]: 70: Hoare triple {35991#(<= ~counter~0 4)} assume !(0 == ~cond); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,819 INFO L290 TraceCheckUtils]: 71: Hoare triple {35991#(<= ~counter~0 4)} assume true; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,819 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {35991#(<= ~counter~0 4)} {35991#(<= ~counter~0 4)} #82#return; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,820 INFO L272 TraceCheckUtils]: 73: Hoare triple {35991#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,820 INFO L290 TraceCheckUtils]: 74: Hoare triple {35991#(<= ~counter~0 4)} ~cond := #in~cond; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,820 INFO L290 TraceCheckUtils]: 75: Hoare triple {35991#(<= ~counter~0 4)} assume !(0 == ~cond); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,820 INFO L290 TraceCheckUtils]: 76: Hoare triple {35991#(<= ~counter~0 4)} assume true; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,821 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {35991#(<= ~counter~0 4)} {35991#(<= ~counter~0 4)} #84#return; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,821 INFO L272 TraceCheckUtils]: 78: Hoare triple {35991#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,821 INFO L290 TraceCheckUtils]: 79: Hoare triple {35991#(<= ~counter~0 4)} ~cond := #in~cond; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,822 INFO L290 TraceCheckUtils]: 80: Hoare triple {35991#(<= ~counter~0 4)} assume !(0 == ~cond); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,822 INFO L290 TraceCheckUtils]: 81: Hoare triple {35991#(<= ~counter~0 4)} assume true; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,822 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {35991#(<= ~counter~0 4)} {35991#(<= ~counter~0 4)} #86#return; {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,823 INFO L290 TraceCheckUtils]: 83: Hoare triple {35991#(<= ~counter~0 4)} assume !(~r~0 >= ~d~0); {35991#(<= ~counter~0 4)} is VALID [2022-04-28 06:25:58,823 INFO L290 TraceCheckUtils]: 84: Hoare triple {35991#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,823 INFO L290 TraceCheckUtils]: 85: Hoare triple {36046#(<= ~counter~0 5)} assume !!(#t~post7 < 100);havoc #t~post7; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,824 INFO L272 TraceCheckUtils]: 86: Hoare triple {36046#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,824 INFO L290 TraceCheckUtils]: 87: Hoare triple {36046#(<= ~counter~0 5)} ~cond := #in~cond; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,824 INFO L290 TraceCheckUtils]: 88: Hoare triple {36046#(<= ~counter~0 5)} assume !(0 == ~cond); {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,824 INFO L290 TraceCheckUtils]: 89: Hoare triple {36046#(<= ~counter~0 5)} assume true; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,825 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {36046#(<= ~counter~0 5)} {36046#(<= ~counter~0 5)} #88#return; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,825 INFO L272 TraceCheckUtils]: 91: Hoare triple {36046#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,825 INFO L290 TraceCheckUtils]: 92: Hoare triple {36046#(<= ~counter~0 5)} ~cond := #in~cond; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,826 INFO L290 TraceCheckUtils]: 93: Hoare triple {36046#(<= ~counter~0 5)} assume !(0 == ~cond); {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,826 INFO L290 TraceCheckUtils]: 94: Hoare triple {36046#(<= ~counter~0 5)} assume true; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,826 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {36046#(<= ~counter~0 5)} {36046#(<= ~counter~0 5)} #90#return; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,827 INFO L290 TraceCheckUtils]: 96: Hoare triple {36046#(<= ~counter~0 5)} 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); {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,827 INFO L290 TraceCheckUtils]: 97: Hoare triple {36046#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {36046#(<= ~counter~0 5)} is VALID [2022-04-28 06:25:58,827 INFO L290 TraceCheckUtils]: 98: Hoare triple {36046#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,828 INFO L290 TraceCheckUtils]: 99: Hoare triple {36089#(<= ~counter~0 6)} assume !!(#t~post7 < 100);havoc #t~post7; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,828 INFO L272 TraceCheckUtils]: 100: Hoare triple {36089#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,828 INFO L290 TraceCheckUtils]: 101: Hoare triple {36089#(<= ~counter~0 6)} ~cond := #in~cond; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,828 INFO L290 TraceCheckUtils]: 102: Hoare triple {36089#(<= ~counter~0 6)} assume !(0 == ~cond); {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,829 INFO L290 TraceCheckUtils]: 103: Hoare triple {36089#(<= ~counter~0 6)} assume true; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,829 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {36089#(<= ~counter~0 6)} {36089#(<= ~counter~0 6)} #88#return; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,829 INFO L272 TraceCheckUtils]: 105: Hoare triple {36089#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,830 INFO L290 TraceCheckUtils]: 106: Hoare triple {36089#(<= ~counter~0 6)} ~cond := #in~cond; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,830 INFO L290 TraceCheckUtils]: 107: Hoare triple {36089#(<= ~counter~0 6)} assume !(0 == ~cond); {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,830 INFO L290 TraceCheckUtils]: 108: Hoare triple {36089#(<= ~counter~0 6)} assume true; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,831 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {36089#(<= ~counter~0 6)} {36089#(<= ~counter~0 6)} #90#return; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,831 INFO L290 TraceCheckUtils]: 110: Hoare triple {36089#(<= ~counter~0 6)} 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); {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,831 INFO L290 TraceCheckUtils]: 111: Hoare triple {36089#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {36089#(<= ~counter~0 6)} is VALID [2022-04-28 06:25:58,831 INFO L290 TraceCheckUtils]: 112: Hoare triple {36089#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36132#(<= |main_#t~post7| 6)} is VALID [2022-04-28 06:25:58,832 INFO L290 TraceCheckUtils]: 113: Hoare triple {36132#(<= |main_#t~post7| 6)} assume !(#t~post7 < 100);havoc #t~post7; {35785#false} is VALID [2022-04-28 06:25:58,832 INFO L272 TraceCheckUtils]: 114: Hoare triple {35785#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {35785#false} is VALID [2022-04-28 06:25:58,832 INFO L290 TraceCheckUtils]: 115: Hoare triple {35785#false} ~cond := #in~cond; {35785#false} is VALID [2022-04-28 06:25:58,832 INFO L290 TraceCheckUtils]: 116: Hoare triple {35785#false} assume 0 == ~cond; {35785#false} is VALID [2022-04-28 06:25:58,832 INFO L290 TraceCheckUtils]: 117: Hoare triple {35785#false} assume !false; {35785#false} is VALID [2022-04-28 06:25:58,832 INFO L134 CoverageAnalysis]: Checked inductivity of 558 backedges. 32 proven. 470 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-28 06:25:58,832 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:25:59,250 INFO L290 TraceCheckUtils]: 117: Hoare triple {35785#false} assume !false; {35785#false} is VALID [2022-04-28 06:25:59,250 INFO L290 TraceCheckUtils]: 116: Hoare triple {35785#false} assume 0 == ~cond; {35785#false} is VALID [2022-04-28 06:25:59,250 INFO L290 TraceCheckUtils]: 115: Hoare triple {35785#false} ~cond := #in~cond; {35785#false} is VALID [2022-04-28 06:25:59,250 INFO L272 TraceCheckUtils]: 114: Hoare triple {35785#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {35785#false} is VALID [2022-04-28 06:25:59,251 INFO L290 TraceCheckUtils]: 113: Hoare triple {36160#(< |main_#t~post7| 100)} assume !(#t~post7 < 100);havoc #t~post7; {35785#false} is VALID [2022-04-28 06:25:59,251 INFO L290 TraceCheckUtils]: 112: Hoare triple {36164#(< ~counter~0 100)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36160#(< |main_#t~post7| 100)} is VALID [2022-04-28 06:25:59,251 INFO L290 TraceCheckUtils]: 111: Hoare triple {36164#(< ~counter~0 100)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {36164#(< ~counter~0 100)} is VALID [2022-04-28 06:25:59,252 INFO L290 TraceCheckUtils]: 110: Hoare triple {36164#(< ~counter~0 100)} 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); {36164#(< ~counter~0 100)} is VALID [2022-04-28 06:25:59,252 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {35784#true} {36164#(< ~counter~0 100)} #90#return; {36164#(< ~counter~0 100)} is VALID [2022-04-28 06:25:59,252 INFO L290 TraceCheckUtils]: 108: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,252 INFO L290 TraceCheckUtils]: 107: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,252 INFO L290 TraceCheckUtils]: 106: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,252 INFO L272 TraceCheckUtils]: 105: Hoare triple {36164#(< ~counter~0 100)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,253 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {35784#true} {36164#(< ~counter~0 100)} #88#return; {36164#(< ~counter~0 100)} is VALID [2022-04-28 06:25:59,253 INFO L290 TraceCheckUtils]: 103: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,253 INFO L290 TraceCheckUtils]: 102: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,253 INFO L290 TraceCheckUtils]: 101: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,253 INFO L272 TraceCheckUtils]: 100: Hoare triple {36164#(< ~counter~0 100)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,253 INFO L290 TraceCheckUtils]: 99: Hoare triple {36164#(< ~counter~0 100)} assume !!(#t~post7 < 100);havoc #t~post7; {36164#(< ~counter~0 100)} is VALID [2022-04-28 06:25:59,254 INFO L290 TraceCheckUtils]: 98: Hoare triple {36207#(< ~counter~0 99)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36164#(< ~counter~0 100)} is VALID [2022-04-28 06:25:59,254 INFO L290 TraceCheckUtils]: 97: Hoare triple {36207#(< ~counter~0 99)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {36207#(< ~counter~0 99)} is VALID [2022-04-28 06:25:59,254 INFO L290 TraceCheckUtils]: 96: Hoare triple {36207#(< ~counter~0 99)} 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); {36207#(< ~counter~0 99)} is VALID [2022-04-28 06:25:59,255 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {35784#true} {36207#(< ~counter~0 99)} #90#return; {36207#(< ~counter~0 99)} is VALID [2022-04-28 06:25:59,255 INFO L290 TraceCheckUtils]: 94: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,255 INFO L290 TraceCheckUtils]: 93: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,255 INFO L290 TraceCheckUtils]: 92: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,255 INFO L272 TraceCheckUtils]: 91: Hoare triple {36207#(< ~counter~0 99)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,255 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {35784#true} {36207#(< ~counter~0 99)} #88#return; {36207#(< ~counter~0 99)} is VALID [2022-04-28 06:25:59,256 INFO L290 TraceCheckUtils]: 89: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,256 INFO L290 TraceCheckUtils]: 88: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,256 INFO L290 TraceCheckUtils]: 87: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,256 INFO L272 TraceCheckUtils]: 86: Hoare triple {36207#(< ~counter~0 99)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,256 INFO L290 TraceCheckUtils]: 85: Hoare triple {36207#(< ~counter~0 99)} assume !!(#t~post7 < 100);havoc #t~post7; {36207#(< ~counter~0 99)} is VALID [2022-04-28 06:25:59,256 INFO L290 TraceCheckUtils]: 84: Hoare triple {36250#(< ~counter~0 98)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36207#(< ~counter~0 99)} is VALID [2022-04-28 06:25:59,257 INFO L290 TraceCheckUtils]: 83: Hoare triple {36250#(< ~counter~0 98)} assume !(~r~0 >= ~d~0); {36250#(< ~counter~0 98)} is VALID [2022-04-28 06:25:59,257 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {35784#true} {36250#(< ~counter~0 98)} #86#return; {36250#(< ~counter~0 98)} is VALID [2022-04-28 06:25:59,257 INFO L290 TraceCheckUtils]: 81: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,257 INFO L290 TraceCheckUtils]: 80: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,257 INFO L290 TraceCheckUtils]: 79: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,257 INFO L272 TraceCheckUtils]: 78: Hoare triple {36250#(< ~counter~0 98)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,258 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {35784#true} {36250#(< ~counter~0 98)} #84#return; {36250#(< ~counter~0 98)} is VALID [2022-04-28 06:25:59,258 INFO L290 TraceCheckUtils]: 76: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,258 INFO L290 TraceCheckUtils]: 75: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,258 INFO L290 TraceCheckUtils]: 74: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,258 INFO L272 TraceCheckUtils]: 73: Hoare triple {36250#(< ~counter~0 98)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,258 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {35784#true} {36250#(< ~counter~0 98)} #82#return; {36250#(< ~counter~0 98)} is VALID [2022-04-28 06:25:59,258 INFO L290 TraceCheckUtils]: 71: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,258 INFO L290 TraceCheckUtils]: 70: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,258 INFO L290 TraceCheckUtils]: 69: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,258 INFO L272 TraceCheckUtils]: 68: Hoare triple {36250#(< ~counter~0 98)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,259 INFO L290 TraceCheckUtils]: 67: Hoare triple {36250#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {36250#(< ~counter~0 98)} is VALID [2022-04-28 06:25:59,259 INFO L290 TraceCheckUtils]: 66: Hoare triple {36305#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36250#(< ~counter~0 98)} is VALID [2022-04-28 06:25:59,259 INFO L290 TraceCheckUtils]: 65: Hoare triple {36305#(< ~counter~0 97)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36305#(< ~counter~0 97)} is VALID [2022-04-28 06:25:59,260 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35784#true} {36305#(< ~counter~0 97)} #86#return; {36305#(< ~counter~0 97)} is VALID [2022-04-28 06:25:59,260 INFO L290 TraceCheckUtils]: 63: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,260 INFO L290 TraceCheckUtils]: 62: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,260 INFO L290 TraceCheckUtils]: 61: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,260 INFO L272 TraceCheckUtils]: 60: Hoare triple {36305#(< ~counter~0 97)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,260 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35784#true} {36305#(< ~counter~0 97)} #84#return; {36305#(< ~counter~0 97)} is VALID [2022-04-28 06:25:59,260 INFO L290 TraceCheckUtils]: 58: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,261 INFO L290 TraceCheckUtils]: 57: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,261 INFO L290 TraceCheckUtils]: 56: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,261 INFO L272 TraceCheckUtils]: 55: Hoare triple {36305#(< ~counter~0 97)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,261 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {35784#true} {36305#(< ~counter~0 97)} #82#return; {36305#(< ~counter~0 97)} is VALID [2022-04-28 06:25:59,261 INFO L290 TraceCheckUtils]: 53: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,261 INFO L290 TraceCheckUtils]: 52: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,261 INFO L290 TraceCheckUtils]: 51: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,261 INFO L272 TraceCheckUtils]: 50: Hoare triple {36305#(< ~counter~0 97)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,261 INFO L290 TraceCheckUtils]: 49: Hoare triple {36305#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {36305#(< ~counter~0 97)} is VALID [2022-04-28 06:25:59,262 INFO L290 TraceCheckUtils]: 48: Hoare triple {36360#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36305#(< ~counter~0 97)} is VALID [2022-04-28 06:25:59,262 INFO L290 TraceCheckUtils]: 47: Hoare triple {36360#(< ~counter~0 96)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36360#(< ~counter~0 96)} is VALID [2022-04-28 06:25:59,263 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35784#true} {36360#(< ~counter~0 96)} #86#return; {36360#(< ~counter~0 96)} is VALID [2022-04-28 06:25:59,263 INFO L290 TraceCheckUtils]: 45: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,263 INFO L290 TraceCheckUtils]: 44: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,263 INFO L290 TraceCheckUtils]: 43: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,263 INFO L272 TraceCheckUtils]: 42: Hoare triple {36360#(< ~counter~0 96)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,263 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35784#true} {36360#(< ~counter~0 96)} #84#return; {36360#(< ~counter~0 96)} is VALID [2022-04-28 06:25:59,263 INFO L290 TraceCheckUtils]: 40: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,263 INFO L290 TraceCheckUtils]: 39: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,263 INFO L290 TraceCheckUtils]: 38: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,263 INFO L272 TraceCheckUtils]: 37: Hoare triple {36360#(< ~counter~0 96)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,264 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35784#true} {36360#(< ~counter~0 96)} #82#return; {36360#(< ~counter~0 96)} is VALID [2022-04-28 06:25:59,264 INFO L290 TraceCheckUtils]: 35: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,264 INFO L290 TraceCheckUtils]: 34: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,264 INFO L290 TraceCheckUtils]: 33: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,264 INFO L272 TraceCheckUtils]: 32: Hoare triple {36360#(< ~counter~0 96)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,264 INFO L290 TraceCheckUtils]: 31: Hoare triple {36360#(< ~counter~0 96)} assume !!(#t~post6 < 100);havoc #t~post6; {36360#(< ~counter~0 96)} is VALID [2022-04-28 06:25:59,265 INFO L290 TraceCheckUtils]: 30: Hoare triple {36415#(< ~counter~0 95)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36360#(< ~counter~0 96)} is VALID [2022-04-28 06:25:59,265 INFO L290 TraceCheckUtils]: 29: Hoare triple {36415#(< ~counter~0 95)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36415#(< ~counter~0 95)} is VALID [2022-04-28 06:25:59,265 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {35784#true} {36415#(< ~counter~0 95)} #86#return; {36415#(< ~counter~0 95)} is VALID [2022-04-28 06:25:59,265 INFO L290 TraceCheckUtils]: 27: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,265 INFO L290 TraceCheckUtils]: 26: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,265 INFO L290 TraceCheckUtils]: 25: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,266 INFO L272 TraceCheckUtils]: 24: Hoare triple {36415#(< ~counter~0 95)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,266 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {35784#true} {36415#(< ~counter~0 95)} #84#return; {36415#(< ~counter~0 95)} is VALID [2022-04-28 06:25:59,266 INFO L290 TraceCheckUtils]: 22: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,266 INFO L290 TraceCheckUtils]: 21: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,266 INFO L290 TraceCheckUtils]: 20: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,266 INFO L272 TraceCheckUtils]: 19: Hoare triple {36415#(< ~counter~0 95)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,266 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {35784#true} {36415#(< ~counter~0 95)} #82#return; {36415#(< ~counter~0 95)} is VALID [2022-04-28 06:25:59,266 INFO L290 TraceCheckUtils]: 17: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,267 INFO L290 TraceCheckUtils]: 16: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,267 INFO L290 TraceCheckUtils]: 15: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,267 INFO L272 TraceCheckUtils]: 14: Hoare triple {36415#(< ~counter~0 95)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,267 INFO L290 TraceCheckUtils]: 13: Hoare triple {36415#(< ~counter~0 95)} assume !!(#t~post6 < 100);havoc #t~post6; {36415#(< ~counter~0 95)} is VALID [2022-04-28 06:25:59,286 INFO L290 TraceCheckUtils]: 12: Hoare triple {36470#(< ~counter~0 94)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36415#(< ~counter~0 95)} is VALID [2022-04-28 06:25:59,286 INFO L290 TraceCheckUtils]: 11: Hoare triple {36470#(< ~counter~0 94)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {36470#(< ~counter~0 94)} is VALID [2022-04-28 06:25:59,286 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35784#true} {36470#(< ~counter~0 94)} #80#return; {36470#(< ~counter~0 94)} is VALID [2022-04-28 06:25:59,287 INFO L290 TraceCheckUtils]: 9: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-28 06:25:59,287 INFO L290 TraceCheckUtils]: 8: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-28 06:25:59,287 INFO L290 TraceCheckUtils]: 7: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-28 06:25:59,287 INFO L272 TraceCheckUtils]: 6: Hoare triple {36470#(< ~counter~0 94)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {35784#true} is VALID [2022-04-28 06:25:59,287 INFO L290 TraceCheckUtils]: 5: Hoare triple {36470#(< ~counter~0 94)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {36470#(< ~counter~0 94)} is VALID [2022-04-28 06:25:59,287 INFO L272 TraceCheckUtils]: 4: Hoare triple {36470#(< ~counter~0 94)} call #t~ret8 := main(); {36470#(< ~counter~0 94)} is VALID [2022-04-28 06:25:59,287 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36470#(< ~counter~0 94)} {35784#true} #96#return; {36470#(< ~counter~0 94)} is VALID [2022-04-28 06:25:59,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {36470#(< ~counter~0 94)} assume true; {36470#(< ~counter~0 94)} is VALID [2022-04-28 06:25:59,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {35784#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);~counter~0 := 0; {36470#(< ~counter~0 94)} is VALID [2022-04-28 06:25:59,288 INFO L272 TraceCheckUtils]: 0: Hoare triple {35784#true} call ULTIMATE.init(); {35784#true} is VALID [2022-04-28 06:25:59,288 INFO L134 CoverageAnalysis]: Checked inductivity of 558 backedges. 32 proven. 46 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-28 06:25:59,289 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:25:59,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [286636836] [2022-04-28 06:25:59,289 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:25:59,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [495267994] [2022-04-28 06:25:59,289 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [495267994] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:25:59,289 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:25:59,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-28 06:25:59,289 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:25:59,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1365833519] [2022-04-28 06:25:59,289 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1365833519] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:25:59,289 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:25:59,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 06:25:59,289 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1068593089] [2022-04-28 06:25:59,289 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:25:59,290 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 118 [2022-04-28 06:25:59,290 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:25:59,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 06:25:59,367 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:25:59,367 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 06:25:59,367 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:25:59,367 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 06:25:59,367 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:25:59,368 INFO L87 Difference]: Start difference. First operand 212 states and 247 transitions. Second operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 06:26:00,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:26:00,173 INFO L93 Difference]: Finished difference Result 272 states and 312 transitions. [2022-04-28 06:26:00,173 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 06:26:00,173 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 118 [2022-04-28 06:26:00,173 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:26:00,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 06:26:00,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 152 transitions. [2022-04-28 06:26:00,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 06:26:00,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 152 transitions. [2022-04-28 06:26:00,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 152 transitions. [2022-04-28 06:26:00,334 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:26:00,337 INFO L225 Difference]: With dead ends: 272 [2022-04-28 06:26:00,337 INFO L226 Difference]: Without dead ends: 257 [2022-04-28 06:26:00,338 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 237 GetRequests, 219 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=151, Invalid=229, Unknown=0, NotChecked=0, Total=380 [2022-04-28 06:26:00,338 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 50 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 225 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:26:00,338 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 225 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 87 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:26:00,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 257 states. [2022-04-28 06:26:00,636 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 257 to 254. [2022-04-28 06:26:00,637 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:26:00,637 INFO L82 GeneralOperation]: Start isEquivalent. First operand 257 states. Second operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 06:26:00,637 INFO L74 IsIncluded]: Start isIncluded. First operand 257 states. Second operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 06:26:00,637 INFO L87 Difference]: Start difference. First operand 257 states. Second operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 06:26:00,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:26:00,640 INFO L93 Difference]: Finished difference Result 257 states and 292 transitions. [2022-04-28 06:26:00,641 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 292 transitions. [2022-04-28 06:26:00,641 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:26:00,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:26:00,641 INFO L74 IsIncluded]: Start isIncluded. First operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) Second operand 257 states. [2022-04-28 06:26:00,641 INFO L87 Difference]: Start difference. First operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) Second operand 257 states. [2022-04-28 06:26:00,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:26:00,644 INFO L93 Difference]: Finished difference Result 257 states and 292 transitions. [2022-04-28 06:26:00,644 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 292 transitions. [2022-04-28 06:26:00,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:26:00,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:26:00,645 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:26:00,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:26:00,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-28 06:26:00,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 290 transitions. [2022-04-28 06:26:00,649 INFO L78 Accepts]: Start accepts. Automaton has 254 states and 290 transitions. Word has length 118 [2022-04-28 06:26:00,649 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:26:00,649 INFO L495 AbstractCegarLoop]: Abstraction has 254 states and 290 transitions. [2022-04-28 06:26:00,649 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 06:26:00,649 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 254 states and 290 transitions. [2022-04-28 06:26:03,083 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 290 edges. 289 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:26:03,083 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 290 transitions. [2022-04-28 06:26:03,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-28 06:26:03,084 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:26:03,084 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 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] [2022-04-28 06:26:03,099 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-28 06:26:03,284 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-28 06:26:03,284 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:26:03,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:26:03,285 INFO L85 PathProgramCache]: Analyzing trace with hash 1564262477, now seen corresponding path program 17 times [2022-04-28 06:26:03,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:26:03,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [995575199] [2022-04-28 06:26:10,518 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:26:10,518 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:26:10,518 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:26:10,518 INFO L85 PathProgramCache]: Analyzing trace with hash 1564262477, now seen corresponding path program 18 times [2022-04-28 06:26:10,519 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:26:10,519 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1499301182] [2022-04-28 06:26:10,519 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:26:10,519 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:26:10,528 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:26:10,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [508449150] [2022-04-28 06:26:10,528 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:26:10,528 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:26:10,529 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:26:10,529 INFO L229 MonitoredProcess]: Starting monitored process 28 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:26:10,530 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 06:26:10,963 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 06:26:10,964 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:26:10,965 INFO L263 TraceCheckSpWp]: Trace formula consists of 265 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-28 06:26:10,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:26:10,984 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:26:13,720 INFO L272 TraceCheckUtils]: 0: Hoare triple {38079#true} call ULTIMATE.init(); {38079#true} is VALID [2022-04-28 06:26:13,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {38079#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);~counter~0 := 0; {38079#true} is VALID [2022-04-28 06:26:13,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38079#true} {38079#true} #96#return; {38079#true} is VALID [2022-04-28 06:26:13,720 INFO L272 TraceCheckUtils]: 4: Hoare triple {38079#true} call #t~ret8 := main(); {38079#true} is VALID [2022-04-28 06:26:13,720 INFO L290 TraceCheckUtils]: 5: Hoare triple {38079#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;~B~0 := #t~nondet5;havoc #t~nondet5; {38079#true} is VALID [2022-04-28 06:26:13,720 INFO L272 TraceCheckUtils]: 6: Hoare triple {38079#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,721 INFO L290 TraceCheckUtils]: 7: Hoare triple {38079#true} ~cond := #in~cond; {38105#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:26:13,721 INFO L290 TraceCheckUtils]: 8: Hoare triple {38105#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {38109#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:26:13,721 INFO L290 TraceCheckUtils]: 9: Hoare triple {38109#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {38109#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:26:13,722 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38109#(not (= |assume_abort_if_not_#in~cond| 0))} {38079#true} #80#return; {38116#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:26:13,722 INFO L290 TraceCheckUtils]: 11: Hoare triple {38116#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:26:13,722 INFO L290 TraceCheckUtils]: 12: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:26:13,723 INFO L290 TraceCheckUtils]: 13: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 100);havoc #t~post6; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:26:13,723 INFO L272 TraceCheckUtils]: 14: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,723 INFO L290 TraceCheckUtils]: 15: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,723 INFO L290 TraceCheckUtils]: 16: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,723 INFO L290 TraceCheckUtils]: 17: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,723 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {38079#true} {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:26:13,723 INFO L272 TraceCheckUtils]: 19: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (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)); {38079#true} is VALID [2022-04-28 06:26:13,723 INFO L290 TraceCheckUtils]: 20: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,724 INFO L290 TraceCheckUtils]: 21: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,724 INFO L290 TraceCheckUtils]: 22: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,724 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {38079#true} {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:26:13,724 INFO L272 TraceCheckUtils]: 24: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (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)); {38079#true} is VALID [2022-04-28 06:26:13,724 INFO L290 TraceCheckUtils]: 25: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,724 INFO L290 TraceCheckUtils]: 26: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,724 INFO L290 TraceCheckUtils]: 27: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,725 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {38079#true} {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:26:13,726 INFO L290 TraceCheckUtils]: 29: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (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; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,727 INFO L290 TraceCheckUtils]: 30: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,727 INFO L290 TraceCheckUtils]: 31: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,727 INFO L272 TraceCheckUtils]: 32: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,727 INFO L290 TraceCheckUtils]: 33: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,727 INFO L290 TraceCheckUtils]: 34: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,727 INFO L290 TraceCheckUtils]: 35: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,728 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38079#true} {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,728 INFO L272 TraceCheckUtils]: 37: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,728 INFO L290 TraceCheckUtils]: 38: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,728 INFO L290 TraceCheckUtils]: 39: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,728 INFO L290 TraceCheckUtils]: 40: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,728 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {38079#true} {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,728 INFO L272 TraceCheckUtils]: 42: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,728 INFO L290 TraceCheckUtils]: 43: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,728 INFO L290 TraceCheckUtils]: 44: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,729 INFO L290 TraceCheckUtils]: 45: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,729 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {38079#true} {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,731 INFO L290 TraceCheckUtils]: 47: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:26:13,731 INFO L290 TraceCheckUtils]: 48: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:26:13,731 INFO L290 TraceCheckUtils]: 49: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 100);havoc #t~post6; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:26:13,731 INFO L272 TraceCheckUtils]: 50: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,731 INFO L290 TraceCheckUtils]: 51: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,732 INFO L290 TraceCheckUtils]: 52: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,732 INFO L290 TraceCheckUtils]: 53: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,732 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {38079#true} {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:26:13,732 INFO L272 TraceCheckUtils]: 55: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,732 INFO L290 TraceCheckUtils]: 56: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,732 INFO L290 TraceCheckUtils]: 57: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,732 INFO L290 TraceCheckUtils]: 58: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,733 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {38079#true} {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:26:13,733 INFO L272 TraceCheckUtils]: 60: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,733 INFO L290 TraceCheckUtils]: 61: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,733 INFO L290 TraceCheckUtils]: 62: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,733 INFO L290 TraceCheckUtils]: 63: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,733 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {38079#true} {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:26:13,735 INFO L290 TraceCheckUtils]: 65: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,735 INFO L290 TraceCheckUtils]: 66: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,736 INFO L290 TraceCheckUtils]: 67: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !!(#t~post6 < 100);havoc #t~post6; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,736 INFO L272 TraceCheckUtils]: 68: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,736 INFO L290 TraceCheckUtils]: 69: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,736 INFO L290 TraceCheckUtils]: 70: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,736 INFO L290 TraceCheckUtils]: 71: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,736 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #82#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,737 INFO L272 TraceCheckUtils]: 73: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,737 INFO L290 TraceCheckUtils]: 74: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,737 INFO L290 TraceCheckUtils]: 75: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,737 INFO L290 TraceCheckUtils]: 76: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,737 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #84#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,737 INFO L272 TraceCheckUtils]: 78: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,737 INFO L290 TraceCheckUtils]: 79: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,737 INFO L290 TraceCheckUtils]: 80: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,737 INFO L290 TraceCheckUtils]: 81: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,738 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #86#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,738 INFO L290 TraceCheckUtils]: 83: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,739 INFO L290 TraceCheckUtils]: 84: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,739 INFO L290 TraceCheckUtils]: 85: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !!(#t~post7 < 100);havoc #t~post7; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,739 INFO L272 TraceCheckUtils]: 86: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,739 INFO L290 TraceCheckUtils]: 87: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,739 INFO L290 TraceCheckUtils]: 88: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,739 INFO L290 TraceCheckUtils]: 89: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,740 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #88#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,740 INFO L272 TraceCheckUtils]: 91: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,740 INFO L290 TraceCheckUtils]: 92: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,740 INFO L290 TraceCheckUtils]: 93: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,740 INFO L290 TraceCheckUtils]: 94: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,740 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #90#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-28 06:26:13,742 INFO L290 TraceCheckUtils]: 96: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 06:26:13,745 INFO L290 TraceCheckUtils]: 97: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:26:13,745 INFO L290 TraceCheckUtils]: 98: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:26:13,745 INFO L290 TraceCheckUtils]: 99: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(#t~post7 < 100);havoc #t~post7; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:26:13,746 INFO L272 TraceCheckUtils]: 100: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,746 INFO L290 TraceCheckUtils]: 101: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-28 06:26:13,746 INFO L290 TraceCheckUtils]: 102: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-28 06:26:13,746 INFO L290 TraceCheckUtils]: 103: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-28 06:26:13,746 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {38079#true} {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #88#return; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:26:13,746 INFO L272 TraceCheckUtils]: 105: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-28 06:26:13,746 INFO L290 TraceCheckUtils]: 106: Hoare triple {38079#true} ~cond := #in~cond; {38410#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:26:13,747 INFO L290 TraceCheckUtils]: 107: Hoare triple {38410#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {38414#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:26:13,747 INFO L290 TraceCheckUtils]: 108: Hoare triple {38414#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38414#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:26:13,747 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {38414#(not (= |__VERIFIER_assert_#in~cond| 0))} {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #90#return; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:26:13,749 INFO L290 TraceCheckUtils]: 110: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~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); {38424#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 4))} is VALID [2022-04-28 06:26:13,750 INFO L290 TraceCheckUtils]: 111: Hoare triple {38424#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {38428#(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))) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:26:13,750 INFO L290 TraceCheckUtils]: 112: Hoare triple {38428#(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))) (<= 1 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38428#(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))) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:26:13,751 INFO L290 TraceCheckUtils]: 113: Hoare triple {38428#(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))) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 100);havoc #t~post7; {38428#(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))) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:26:13,751 INFO L272 TraceCheckUtils]: 114: Hoare triple {38428#(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))) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {38438#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:26:13,752 INFO L290 TraceCheckUtils]: 115: Hoare triple {38438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {38442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:26:13,752 INFO L290 TraceCheckUtils]: 116: Hoare triple {38442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {38080#false} is VALID [2022-04-28 06:26:13,752 INFO L290 TraceCheckUtils]: 117: Hoare triple {38080#false} assume !false; {38080#false} is VALID [2022-04-28 06:26:13,752 INFO L134 CoverageAnalysis]: Checked inductivity of 560 backedges. 76 proven. 49 refuted. 0 times theorem prover too weak. 435 trivial. 0 not checked. [2022-04-28 06:26:13,752 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:27:03,030 WARN L232 SmtUtils]: Spent 26.04s on a formula simplification that was a NOOP. DAG size: 53 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)