/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_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 06:23:54,780 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 06:23:54,782 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 06:23:54,831 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 06:23:54,831 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 06:23:54,832 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 06:23:54,833 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 06:23:54,834 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 06:23:54,836 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 06:23:54,836 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 06:23:54,837 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 06:23:54,838 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 06:23:54,838 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 06:23:54,841 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 06:23:54,842 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 06:23:54,846 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 06:23:54,846 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 06:23:54,850 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 06:23:54,854 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 06:23:54,859 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 06:23:54,862 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 06:23:54,863 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 06:23:54,864 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 06:23:54,865 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 06:23:54,866 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 06:23:54,869 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 06:23:54,869 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 06:23:54,870 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 06:23:54,870 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 06:23:54,871 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 06:23:54,872 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 06:23:54,872 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 06:23:54,874 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 06:23:54,874 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 06:23:54,875 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 06:23:54,875 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 06:23:54,875 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 06:23:54,876 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 06:23:54,876 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 06:23:54,876 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 06:23:54,877 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 06:23:54,878 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 06:23:54,879 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 06:23:54,889 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 06:23:54,890 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 06:23:54,891 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 06:23:54,891 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 06:23:54,891 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 06:23:54,892 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 06:23:54,892 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 06:23:54,892 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 06:23:54,892 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 06:23:54,893 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 06:23:54,893 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 06:23:54,893 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 06:23:54,893 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 06:23:54,893 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 06:23:54,893 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 06:23:54,894 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 06:23:54,894 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 06:23:54,894 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 06:23:54,894 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 06:23:54,894 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 06:23:54,894 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 06:23:54,894 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 06:23:54,894 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 06:23:54,895 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 06:23:54,895 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 06:23:54,895 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 06:23:55,135 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 06:23:55,158 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 06:23:55,159 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 06:23:55,160 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 06:23:55,161 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 06:23:55,162 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound5.c [2022-04-08 06:23:55,218 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d2fe814d5/ed6adcbe5c7b4015bb694d10a698cb4e/FLAGb9d87c567 [2022-04-08 06:23:55,553 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 06:23:55,553 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound5.c [2022-04-08 06:23:55,559 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d2fe814d5/ed6adcbe5c7b4015bb694d10a698cb4e/FLAGb9d87c567 [2022-04-08 06:23:55,967 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d2fe814d5/ed6adcbe5c7b4015bb694d10a698cb4e [2022-04-08 06:23:55,969 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 06:23:55,971 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 06:23:55,974 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 06:23:55,974 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 06:23:55,977 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 06:23:55,978 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 06:23:55" (1/1) ... [2022-04-08 06:23:55,980 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@63362c4c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:55, skipping insertion in model container [2022-04-08 06:23:55,980 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 06:23:55" (1/1) ... [2022-04-08 06:23:55,986 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 06:23:56,000 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 06:23:56,159 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_valuebound5.c[538,551] [2022-04-08 06:23:56,178 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 06:23:56,190 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 06:23:56,199 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_valuebound5.c[538,551] [2022-04-08 06:23:56,206 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 06:23:56,218 INFO L208 MainTranslator]: Completed translation [2022-04-08 06:23:56,219 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:56 WrapperNode [2022-04-08 06:23:56,219 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 06:23:56,220 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 06:23:56,220 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 06:23:56,220 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 06:23:56,230 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:56" (1/1) ... [2022-04-08 06:23:56,230 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:56" (1/1) ... [2022-04-08 06:23:56,237 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:56" (1/1) ... [2022-04-08 06:23:56,237 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:56" (1/1) ... [2022-04-08 06:23:56,252 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:56" (1/1) ... [2022-04-08 06:23:56,256 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:56" (1/1) ... [2022-04-08 06:23:56,257 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:56" (1/1) ... [2022-04-08 06:23:56,258 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 06:23:56,261 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 06:23:56,261 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 06:23:56,261 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 06:23:56,262 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:56" (1/1) ... [2022-04-08 06:23:56,268 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 06:23:56,279 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:23:56,289 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 06:23:56,290 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 06:23:56,318 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 06:23:56,318 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 06:23:56,319 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 06:23:56,319 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 06:23:56,319 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 06:23:56,319 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 06:23:56,320 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 06:23:56,320 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 06:23:56,320 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 06:23:56,321 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 06:23:56,321 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-08 06:23:56,322 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 06:23:56,322 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 06:23:56,322 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 06:23:56,322 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 06:23:56,323 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 06:23:56,323 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 06:23:56,323 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 06:23:56,323 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 06:23:56,323 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 06:23:56,380 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 06:23:56,381 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 06:23:56,610 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 06:23:56,616 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 06:23:56,616 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 06:23:56,618 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 06:23:56 BoogieIcfgContainer [2022-04-08 06:23:56,618 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 06:23:56,619 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 06:23:56,619 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 06:23:56,622 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 06:23:56,622 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 06:23:55" (1/3) ... [2022-04-08 06:23:56,623 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@619eafbb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 06:23:56, skipping insertion in model container [2022-04-08 06:23:56,623 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:56" (2/3) ... [2022-04-08 06:23:56,623 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@619eafbb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 06:23:56, skipping insertion in model container [2022-04-08 06:23:56,623 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 06:23:56" (3/3) ... [2022-04-08 06:23:56,624 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound5.c [2022-04-08 06:23:56,629 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 06:23:56,629 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 06:23:56,690 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 06:23:56,706 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 06:23:56,707 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 06:23:56,737 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 06:23:56,744 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 06:23:56,744 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:23:56,745 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:23:56,745 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:23:56,754 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:23:56,754 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-08 06:23:56,762 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:56,763 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [51493595] [2022-04-08 06:23:56,774 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:23:56,775 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-08 06:23:56,777 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:23:56,778 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [166831775] [2022-04-08 06:23:56,778 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:23:56,779 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:23:56,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:56,970 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:23:56,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:56,998 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-08 06:23:56,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-08 06:23:56,999 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-08 06:23:57,000 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 06:23:57,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:57,011 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-08 06:23:57,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-08 06:23:57,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-08 06:23:57,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-08 06:23:57,013 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 06:23:57,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:57,043 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-08 06:23:57,044 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-08 06:23:57,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-08 06:23:57,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-08 06:23:57,045 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 06:23:57,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:57,053 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-08 06:23:57,054 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-08 06:23:57,054 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-08 06:23:57,054 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-08 06:23:57,055 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 06:23:57,055 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-08 06:23:57,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-08 06:23:57,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-08 06:23:57,056 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-08 06:23:57,056 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-08 06:23:57,057 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {41#true} is VALID [2022-04-08 06:23:57,057 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-08 06:23:57,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-08 06:23:57,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-08 06:23:57,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-08 06:23:57,058 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-08 06:23:57,058 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {41#true} is VALID [2022-04-08 06:23:57,059 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-08 06:23:57,059 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-08 06:23:57,059 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-08 06:23:57,060 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-08 06:23:57,060 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-08 06:23:57,060 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-08 06:23:57,062 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-08 06:23:57,062 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-08 06:23:57,062 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-08 06:23:57,062 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-08 06:23:57,062 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-08 06:23:57,063 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-08 06:23:57,063 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-08 06:23:57,063 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-08 06:23:57,063 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-08 06:23:57,064 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 06:23:57,064 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:23:57,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [166831775] [2022-04-08 06:23:57,065 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [166831775] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:57,066 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:57,066 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 06:23:57,068 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:23:57,068 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [51493595] [2022-04-08 06:23:57,069 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [51493595] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:57,069 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:57,069 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 06:23:57,069 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1259767597] [2022-04-08 06:23:57,070 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:23:57,074 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 06:23:57,079 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:23:57,083 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:23:57,134 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:57,134 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 06:23:57,134 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:57,160 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 06:23:57,161 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 06:23:57,164 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:23:57,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:57,386 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-08 06:23:57,386 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 06:23:57,386 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 06:23:57,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:23:57,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:23:57,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-08 06:23:57,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:23:57,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-08 06:23:57,406 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-08 06:23:57,535 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:57,543 INFO L225 Difference]: With dead ends: 69 [2022-04-08 06:23:57,544 INFO L226 Difference]: Without dead ends: 33 [2022-04-08 06:23:57,546 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 06:23:57,549 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:23:57,550 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:23:57,565 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-08 06:23:57,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-08 06:23:57,605 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:23:57,607 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:57,608 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:57,609 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:57,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:57,626 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-08 06:23:57,626 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-08 06:23:57,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:57,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:57,627 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-08 06:23:57,628 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-08 06:23:57,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:57,632 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-08 06:23:57,632 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-08 06:23:57,633 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:57,633 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:57,633 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:23:57,633 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:23:57,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:57,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-08 06:23:57,642 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-08 06:23:57,642 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:23:57,642 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-08 06:23:57,643 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:23:57,643 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-08 06:23:57,694 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:57,695 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-08 06:23:57,696 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 06:23:57,697 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:23:57,697 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:23:57,697 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 06:23:57,698 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:23:57,698 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:23:57,698 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-08 06:23:57,698 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:57,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1323368223] [2022-04-08 06:23:57,700 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:23:57,700 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-08 06:23:57,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:23:57,701 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1284799112] [2022-04-08 06:23:57,701 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:23:57,701 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:23:57,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:57,821 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:23:57,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:57,828 INFO L290 TraceCheckUtils]: 0: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-08 06:23:57,829 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:57,829 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-08 06:23:57,829 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 06:23:57,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:57,834 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-08 06:23:57,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-08 06:23:57,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:57,835 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-08 06:23:57,835 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 06:23:57,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:57,843 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-08 06:23:57,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-08 06:23:57,843 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:57,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-08 06:23:57,844 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 06:23:57,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:57,852 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-08 06:23:57,853 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-08 06:23:57,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:57,854 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-08 06:23:57,855 INFO L272 TraceCheckUtils]: 0: Hoare triple {331#true} call ULTIMATE.init(); {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 06:23:57,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-08 06:23:57,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:57,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-08 06:23:57,856 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-08 06:23:57,857 INFO L290 TraceCheckUtils]: 5: Hoare triple {331#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {331#true} is VALID [2022-04-08 06:23:57,857 INFO L272 TraceCheckUtils]: 6: Hoare triple {331#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {331#true} is VALID [2022-04-08 06:23:57,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-08 06:23:57,857 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-08 06:23:57,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:57,858 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-08 06:23:57,858 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-08 06:23:57,859 INFO L272 TraceCheckUtils]: 12: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {331#true} is VALID [2022-04-08 06:23:57,859 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-08 06:23:57,859 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-08 06:23:57,860 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:57,860 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-08 06:23:57,860 INFO L272 TraceCheckUtils]: 17: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {331#true} is VALID [2022-04-08 06:23:57,860 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-08 06:23:57,861 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-08 06:23:57,861 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:57,862 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-08 06:23:57,862 INFO L290 TraceCheckUtils]: 22: Hoare triple {331#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {348#(= main_~q~0 0)} is VALID [2022-04-08 06:23:57,863 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-08 06:23:57,864 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {349#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:23:57,864 INFO L290 TraceCheckUtils]: 25: Hoare triple {349#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {350#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:23:57,865 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-08 06:23:57,865 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-08 06:23:57,866 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 06:23:57,867 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:23:57,870 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1284799112] [2022-04-08 06:23:57,870 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1284799112] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:57,870 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:57,871 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:23:57,871 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:23:57,871 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1323368223] [2022-04-08 06:23:57,872 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1323368223] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:57,872 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:57,872 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:23:57,872 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1192753928] [2022-04-08 06:23:57,873 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:23:57,874 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-08 06:23:57,874 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:23:57,874 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 06:23:57,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:57,894 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:23:57,895 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:57,895 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:23:57,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:23:57,896 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 06:23:58,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:58,372 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-08 06:23:58,372 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:23:58,372 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-08 06:23:58,372 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:23:58,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 06:23:58,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-08 06:23:58,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 06:23:58,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-08 06:23:58,378 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-08 06:23:58,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:58,461 INFO L225 Difference]: With dead ends: 46 [2022-04-08 06:23:58,461 INFO L226 Difference]: Without dead ends: 44 [2022-04-08 06:23:58,461 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:23:58,462 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:23:58,463 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:23:58,467 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-08 06:23:58,477 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-08 06:23:58,477 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:23:58,477 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:58,478 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:58,478 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:58,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:58,482 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-08 06:23:58,482 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-08 06:23:58,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:58,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:58,483 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-08 06:23:58,484 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-08 06:23:58,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:58,487 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-08 06:23:58,487 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-08 06:23:58,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:58,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:58,488 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:23:58,489 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:23:58,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:58,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-08 06:23:58,493 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-08 06:23:58,493 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:23:58,494 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-08 06:23:58,494 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 06:23:58,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-08 06:23:58,547 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-08 06:23:58,547 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-08 06:23:58,548 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 06:23:58,548 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:23:58,548 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:23:58,548 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 06:23:58,548 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:23:58,549 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:23:58,549 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-08 06:23:58,549 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:58,549 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1920640458] [2022-04-08 06:23:58,550 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:23:58,550 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-08 06:23:58,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:23:58,550 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [435575544] [2022-04-08 06:23:58,550 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:23:58,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:23:58,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:58,628 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:23:58,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:58,640 INFO L290 TraceCheckUtils]: 0: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-08 06:23:58,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:58,641 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-08 06:23:58,641 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 06:23:58,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:58,651 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:58,651 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:58,651 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:58,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-08 06:23:58,652 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 06:23:58,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:58,658 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:58,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:58,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:58,659 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-08 06:23:58,659 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 06:23:58,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:58,666 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:58,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:58,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:58,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-08 06:23:58,668 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 06:23:58,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:58,678 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:58,679 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:58,679 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:58,680 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 06:23:58,680 INFO L272 TraceCheckUtils]: 0: Hoare triple {616#true} call ULTIMATE.init(); {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 06:23:58,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-08 06:23:58,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:58,681 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-08 06:23:58,681 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-08 06:23:58,681 INFO L290 TraceCheckUtils]: 5: Hoare triple {616#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {616#true} is VALID [2022-04-08 06:23:58,682 INFO L272 TraceCheckUtils]: 6: Hoare triple {616#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {616#true} is VALID [2022-04-08 06:23:58,682 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:58,682 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:58,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:58,683 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-08 06:23:58,683 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-08 06:23:58,685 INFO L272 TraceCheckUtils]: 12: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {616#true} is VALID [2022-04-08 06:23:58,685 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:58,693 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:58,694 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:58,694 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-08 06:23:58,694 INFO L272 TraceCheckUtils]: 17: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {616#true} is VALID [2022-04-08 06:23:58,694 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:58,694 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:58,695 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:58,695 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-08 06:23:58,696 INFO L290 TraceCheckUtils]: 22: Hoare triple {616#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 06:23:58,697 INFO L290 TraceCheckUtils]: 23: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 06:23:58,697 INFO L272 TraceCheckUtils]: 24: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {616#true} is VALID [2022-04-08 06:23:58,698 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:58,698 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:58,698 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:58,699 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 06:23:58,700 INFO L272 TraceCheckUtils]: 29: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:23:58,700 INFO L290 TraceCheckUtils]: 30: Hoare triple {638#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {639#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:23:58,701 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-08 06:23:58,701 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-08 06:23:58,702 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 06:23:58,702 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:23:58,702 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [435575544] [2022-04-08 06:23:58,702 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [435575544] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:58,702 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:58,703 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:23:58,703 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:23:58,704 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1920640458] [2022-04-08 06:23:58,704 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1920640458] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:58,704 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:58,705 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:23:58,705 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [677604008] [2022-04-08 06:23:58,705 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:23:58,705 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-08 06:23:58,706 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:23:58,706 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 06:23:58,728 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:58,729 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:23:58,729 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:58,729 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:23:58,729 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:23:58,730 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 06:23:59,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:59,217 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-08 06:23:59,217 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:23:59,218 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-08 06:23:59,218 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:23:59,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 06:23:59,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-08 06:23:59,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 06:23:59,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-08 06:23:59,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-08 06:23:59,312 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:59,316 INFO L225 Difference]: With dead ends: 50 [2022-04-08 06:23:59,316 INFO L226 Difference]: Without dead ends: 48 [2022-04-08 06:23:59,317 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:23:59,319 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:23:59,321 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:23:59,322 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-08 06:23:59,342 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-08 06:23:59,342 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:23:59,344 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:59,345 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:59,347 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:59,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:59,352 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-08 06:23:59,352 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-08 06:23:59,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:59,356 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:59,357 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-08 06:23:59,357 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-08 06:23:59,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:59,362 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-08 06:23:59,363 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-08 06:23:59,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:59,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:59,363 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:23:59,363 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:23:59,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:59,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-08 06:23:59,366 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-08 06:23:59,366 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:23:59,366 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-08 06:23:59,366 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 06:23:59,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-08 06:23:59,422 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:59,422 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-08 06:23:59,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 06:23:59,423 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:23:59,423 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:23:59,423 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 06:23:59,424 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:23:59,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:23:59,424 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-08 06:23:59,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:59,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [325222602] [2022-04-08 06:23:59,425 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:23:59,425 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-08 06:23:59,425 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:23:59,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [596724672] [2022-04-08 06:23:59,426 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:23:59,426 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:23:59,452 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:23:59,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1745281139] [2022-04-08 06:23:59,457 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:23:59,457 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:23:59,458 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:23:59,460 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:23:59,463 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 06:23:59,512 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:23:59,513 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:23:59,528 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 06:23:59,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:59,544 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:23:59,787 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-08 06:23:59,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {929#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {929#true} is VALID [2022-04-08 06:23:59,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 06:23:59,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-08 06:23:59,788 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-08 06:23:59,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {929#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {929#true} is VALID [2022-04-08 06:23:59,788 INFO L272 TraceCheckUtils]: 6: Hoare triple {929#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {929#true} is VALID [2022-04-08 06:23:59,789 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-08 06:23:59,789 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-08 06:23:59,789 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 06:23:59,789 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-08 06:23:59,789 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-08 06:23:59,789 INFO L272 TraceCheckUtils]: 12: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {929#true} is VALID [2022-04-08 06:23:59,790 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-08 06:23:59,790 INFO L290 TraceCheckUtils]: 14: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-08 06:23:59,790 INFO L290 TraceCheckUtils]: 15: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 06:23:59,790 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {929#true} {929#true} #83#return; {929#true} is VALID [2022-04-08 06:23:59,790 INFO L272 TraceCheckUtils]: 17: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {929#true} is VALID [2022-04-08 06:23:59,790 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-08 06:23:59,790 INFO L290 TraceCheckUtils]: 19: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-08 06:23:59,791 INFO L290 TraceCheckUtils]: 20: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 06:23:59,791 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {929#true} {929#true} #85#return; {929#true} is VALID [2022-04-08 06:23:59,792 INFO L290 TraceCheckUtils]: 22: Hoare triple {929#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:59,792 INFO L290 TraceCheckUtils]: 23: Hoare triple {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:59,792 INFO L272 TraceCheckUtils]: 24: Hoare triple {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {929#true} is VALID [2022-04-08 06:23:59,792 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-08 06:23:59,793 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-08 06:23:59,793 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 06:23:59,793 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {929#true} {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:59,794 INFO L272 TraceCheckUtils]: 29: Hoare triple {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {929#true} is VALID [2022-04-08 06:23:59,794 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-08 06:23:59,794 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-08 06:23:59,794 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 06:23:59,795 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {929#true} {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:59,796 INFO L272 TraceCheckUtils]: 34: Hoare triple {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1037#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:23:59,796 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1041#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:23:59,796 INFO L290 TraceCheckUtils]: 36: Hoare triple {1041#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-08 06:23:59,797 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-08 06:23:59,797 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 06:23:59,797 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 06:23:59,797 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:23:59,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [596724672] [2022-04-08 06:23:59,798 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:23:59,798 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1745281139] [2022-04-08 06:23:59,798 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1745281139] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:59,798 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:59,798 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:23:59,799 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:23:59,799 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [325222602] [2022-04-08 06:23:59,799 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [325222602] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:59,799 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:59,799 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:23:59,799 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1320189464] [2022-04-08 06:23:59,799 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:23:59,800 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-08 06:23:59,800 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:23:59,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 06:23:59,822 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:59,822 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:23:59,822 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:59,823 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:23:59,823 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 06:23:59,823 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 06:24:00,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:00,070 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-08 06:24:00,070 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:24:00,070 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-08 06:24:00,071 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:24:00,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 06:24:00,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-08 06:24:00,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 06:24:00,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-08 06:24:00,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-04-08 06:24:00,153 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:00,155 INFO L225 Difference]: With dead ends: 69 [2022-04-08 06:24:00,155 INFO L226 Difference]: Without dead ends: 55 [2022-04-08 06:24:00,156 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:24:00,156 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 145 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:24:00,157 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 145 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:24:00,157 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-08 06:24:00,173 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-08 06:24:00,173 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:24:00,173 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 06:24:00,174 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 06:24:00,174 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 06:24:00,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:00,177 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-08 06:24:00,177 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-08 06:24:00,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:00,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:00,180 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-08 06:24:00,180 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-08 06:24:00,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:00,183 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-08 06:24:00,183 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-08 06:24:00,184 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:00,184 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:00,184 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:24:00,184 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:24:00,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 06:24:00,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-08 06:24:00,189 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-08 06:24:00,189 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:24:00,189 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-08 06:24:00,190 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 06:24:00,190 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-08 06:24:00,276 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:00,276 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-08 06:24:00,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 06:24:00,278 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:24:00,278 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:24:00,305 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-08 06:24:00,499 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:00,500 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:24:00,500 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:24:00,500 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-08 06:24:00,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:00,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2023899015] [2022-04-08 06:24:00,501 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:24:00,501 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-08 06:24:00,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:24:00,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1514064100] [2022-04-08 06:24:00,502 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:24:00,502 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:24:00,520 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:24:00,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [98956257] [2022-04-08 06:24:00,520 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:24:00,520 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:00,520 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:24:00,522 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:24:00,523 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 06:24:00,571 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:24:00,572 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:24:00,600 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 06:24:00,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:24:00,612 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:24:02,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {1407#true} call ULTIMATE.init(); {1407#true} is VALID [2022-04-08 06:24:02,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {1407#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1407#true} is VALID [2022-04-08 06:24:02,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1407#true} {1407#true} #101#return; {1407#true} is VALID [2022-04-08 06:24:02,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {1407#true} call #t~ret6 := main(); {1407#true} is VALID [2022-04-08 06:24:02,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {1407#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1407#true} is VALID [2022-04-08 06:24:02,041 INFO L272 TraceCheckUtils]: 6: Hoare triple {1407#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {1407#true} is VALID [2022-04-08 06:24:02,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-08 06:24:02,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-08 06:24:02,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,042 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1407#true} {1407#true} #81#return; {1407#true} is VALID [2022-04-08 06:24:02,042 INFO L290 TraceCheckUtils]: 11: Hoare triple {1407#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1407#true} is VALID [2022-04-08 06:24:02,042 INFO L272 TraceCheckUtils]: 12: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {1407#true} is VALID [2022-04-08 06:24:02,047 INFO L290 TraceCheckUtils]: 13: Hoare triple {1407#true} ~cond := #in~cond; {1451#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:24:02,048 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1455#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:24:02,048 INFO L290 TraceCheckUtils]: 15: Hoare triple {1455#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1455#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:24:02,049 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1455#(not (= |assume_abort_if_not_#in~cond| 0))} {1407#true} #83#return; {1462#(<= (mod main_~B~0 4294967296) 5)} is VALID [2022-04-08 06:24:02,049 INFO L272 TraceCheckUtils]: 17: Hoare triple {1462#(<= (mod main_~B~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1407#true} is VALID [2022-04-08 06:24:02,049 INFO L290 TraceCheckUtils]: 18: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-08 06:24:02,049 INFO L290 TraceCheckUtils]: 19: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-08 06:24:02,050 INFO L290 TraceCheckUtils]: 20: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,050 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1407#true} {1462#(<= (mod main_~B~0 4294967296) 5)} #85#return; {1462#(<= (mod main_~B~0 4294967296) 5)} is VALID [2022-04-08 06:24:02,051 INFO L290 TraceCheckUtils]: 22: Hoare triple {1462#(<= (mod main_~B~0 4294967296) 5)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:24:02,051 INFO L290 TraceCheckUtils]: 23: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:24:02,051 INFO L272 TraceCheckUtils]: 24: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1407#true} is VALID [2022-04-08 06:24:02,052 INFO L290 TraceCheckUtils]: 25: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-08 06:24:02,052 INFO L290 TraceCheckUtils]: 26: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-08 06:24:02,052 INFO L290 TraceCheckUtils]: 27: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,053 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1407#true} {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #87#return; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:24:02,053 INFO L272 TraceCheckUtils]: 29: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1407#true} is VALID [2022-04-08 06:24:02,054 INFO L290 TraceCheckUtils]: 30: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-08 06:24:02,054 INFO L290 TraceCheckUtils]: 31: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-08 06:24:02,054 INFO L290 TraceCheckUtils]: 32: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,054 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1407#true} {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #89#return; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:24:02,055 INFO L272 TraceCheckUtils]: 34: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1407#true} is VALID [2022-04-08 06:24:02,055 INFO L290 TraceCheckUtils]: 35: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-08 06:24:02,055 INFO L290 TraceCheckUtils]: 36: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-08 06:24:02,055 INFO L290 TraceCheckUtils]: 37: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,056 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1407#true} {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #91#return; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:24:02,057 INFO L290 TraceCheckUtils]: 39: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:24:02,057 INFO L290 TraceCheckUtils]: 40: Hoare triple {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:24:02,058 INFO L272 TraceCheckUtils]: 41: Hoare triple {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:02,058 INFO L290 TraceCheckUtils]: 42: Hoare triple {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1544#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:02,059 INFO L290 TraceCheckUtils]: 43: Hoare triple {1544#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1408#false} is VALID [2022-04-08 06:24:02,059 INFO L290 TraceCheckUtils]: 44: Hoare triple {1408#false} assume !false; {1408#false} is VALID [2022-04-08 06:24:02,060 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-08 06:24:02,060 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:24:02,529 INFO L290 TraceCheckUtils]: 44: Hoare triple {1408#false} assume !false; {1408#false} is VALID [2022-04-08 06:24:02,530 INFO L290 TraceCheckUtils]: 43: Hoare triple {1544#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1408#false} is VALID [2022-04-08 06:24:02,531 INFO L290 TraceCheckUtils]: 42: Hoare triple {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1544#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:02,531 INFO L272 TraceCheckUtils]: 41: Hoare triple {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:02,532 INFO L290 TraceCheckUtils]: 40: Hoare triple {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 06:24:02,532 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 06:24:02,533 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1407#true} {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:02,533 INFO L290 TraceCheckUtils]: 37: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,533 INFO L290 TraceCheckUtils]: 36: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-08 06:24:02,533 INFO L290 TraceCheckUtils]: 35: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-08 06:24:02,534 INFO L272 TraceCheckUtils]: 34: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1407#true} is VALID [2022-04-08 06:24:02,535 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1407#true} {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:02,535 INFO L290 TraceCheckUtils]: 32: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,535 INFO L290 TraceCheckUtils]: 31: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-08 06:24:02,536 INFO L290 TraceCheckUtils]: 30: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-08 06:24:02,536 INFO L272 TraceCheckUtils]: 29: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1407#true} is VALID [2022-04-08 06:24:02,536 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1407#true} {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:02,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,537 INFO L290 TraceCheckUtils]: 26: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-08 06:24:02,537 INFO L290 TraceCheckUtils]: 25: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-08 06:24:02,537 INFO L272 TraceCheckUtils]: 24: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1407#true} is VALID [2022-04-08 06:24:02,537 INFO L290 TraceCheckUtils]: 23: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:02,538 INFO L290 TraceCheckUtils]: 22: Hoare triple {1407#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:02,538 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1407#true} {1407#true} #85#return; {1407#true} is VALID [2022-04-08 06:24:02,538 INFO L290 TraceCheckUtils]: 20: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,538 INFO L290 TraceCheckUtils]: 19: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-08 06:24:02,539 INFO L290 TraceCheckUtils]: 18: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-08 06:24:02,539 INFO L272 TraceCheckUtils]: 17: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1407#true} is VALID [2022-04-08 06:24:02,539 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1407#true} {1407#true} #83#return; {1407#true} is VALID [2022-04-08 06:24:02,539 INFO L290 TraceCheckUtils]: 15: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,539 INFO L290 TraceCheckUtils]: 14: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-08 06:24:02,539 INFO L290 TraceCheckUtils]: 13: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-08 06:24:02,539 INFO L272 TraceCheckUtils]: 12: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {1407#true} is VALID [2022-04-08 06:24:02,540 INFO L290 TraceCheckUtils]: 11: Hoare triple {1407#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1407#true} is VALID [2022-04-08 06:24:02,540 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1407#true} {1407#true} #81#return; {1407#true} is VALID [2022-04-08 06:24:02,540 INFO L290 TraceCheckUtils]: 9: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,540 INFO L290 TraceCheckUtils]: 8: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-08 06:24:02,540 INFO L290 TraceCheckUtils]: 7: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-08 06:24:02,540 INFO L272 TraceCheckUtils]: 6: Hoare triple {1407#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {1407#true} is VALID [2022-04-08 06:24:02,541 INFO L290 TraceCheckUtils]: 5: Hoare triple {1407#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1407#true} is VALID [2022-04-08 06:24:02,541 INFO L272 TraceCheckUtils]: 4: Hoare triple {1407#true} call #t~ret6 := main(); {1407#true} is VALID [2022-04-08 06:24:02,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1407#true} {1407#true} #101#return; {1407#true} is VALID [2022-04-08 06:24:02,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-08 06:24:02,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {1407#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1407#true} is VALID [2022-04-08 06:24:02,541 INFO L272 TraceCheckUtils]: 0: Hoare triple {1407#true} call ULTIMATE.init(); {1407#true} is VALID [2022-04-08 06:24:02,542 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 06:24:02,542 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:24:02,542 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1514064100] [2022-04-08 06:24:02,542 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:24:02,542 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [98956257] [2022-04-08 06:24:02,542 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [98956257] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 06:24:02,542 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 06:24:02,542 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-08 06:24:02,543 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:24:02,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2023899015] [2022-04-08 06:24:02,543 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2023899015] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:24:02,543 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:24:02,543 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:24:02,543 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [355598960] [2022-04-08 06:24:02,543 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:24:02,544 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-08 06:24:02,544 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:24:02,544 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:24:02,573 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:02,573 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:24:02,573 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:02,573 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:24:02,574 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-08 06:24:02,574 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:24:02,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:02,820 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-08 06:24:02,821 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:24:02,821 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-08 06:24:02,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:24:02,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:24:02,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 06:24:02,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:24:02,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 06:24:02,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-08 06:24:02,879 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:02,881 INFO L225 Difference]: With dead ends: 68 [2022-04-08 06:24:02,881 INFO L226 Difference]: Without dead ends: 66 [2022-04-08 06:24:02,881 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-08 06:24:02,882 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 16 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:24:02,882 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 128 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:24:02,883 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-08 06:24:02,900 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-08 06:24:02,900 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:24:02,901 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 06:24:02,901 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 06:24:02,901 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 06:24:02,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:02,904 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-08 06:24:02,904 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-08 06:24:02,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:02,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:02,905 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-08 06:24:02,905 INFO L87 Difference]: Start difference. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-08 06:24:02,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:02,908 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-08 06:24:02,908 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-08 06:24:02,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:02,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:02,909 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:24:02,909 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:24:02,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 06:24:02,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-08 06:24:02,912 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-08 06:24:02,912 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:24:02,912 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-08 06:24:02,912 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:24:02,912 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 80 transitions. [2022-04-08 06:24:03,005 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:03,006 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-08 06:24:03,006 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-08 06:24:03,006 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:24:03,007 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:24:03,027 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 06:24:03,223 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:03,223 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:24:03,224 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:24:03,224 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-08 06:24:03,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:03,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [279588813] [2022-04-08 06:24:03,224 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:24:03,224 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-08 06:24:03,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:24:03,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [376222255] [2022-04-08 06:24:03,225 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:24:03,225 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:24:03,236 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:24:03,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1979258627] [2022-04-08 06:24:03,236 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:24:03,237 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:03,237 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:24:03,238 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:24:03,243 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 06:24:03,290 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:24:03,290 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:24:03,291 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 06:24:03,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:24:03,306 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:24:04,106 INFO L272 TraceCheckUtils]: 0: Hoare triple {2085#true} call ULTIMATE.init(); {2085#true} is VALID [2022-04-08 06:24:04,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {2085#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2085#true} is VALID [2022-04-08 06:24:04,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,106 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2085#true} {2085#true} #101#return; {2085#true} is VALID [2022-04-08 06:24:04,106 INFO L272 TraceCheckUtils]: 4: Hoare triple {2085#true} call #t~ret6 := main(); {2085#true} is VALID [2022-04-08 06:24:04,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {2085#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2085#true} is VALID [2022-04-08 06:24:04,106 INFO L272 TraceCheckUtils]: 6: Hoare triple {2085#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,107 INFO L290 TraceCheckUtils]: 9: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,107 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2085#true} {2085#true} #81#return; {2085#true} is VALID [2022-04-08 06:24:04,107 INFO L290 TraceCheckUtils]: 11: Hoare triple {2085#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2085#true} is VALID [2022-04-08 06:24:04,107 INFO L272 TraceCheckUtils]: 12: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,107 INFO L290 TraceCheckUtils]: 13: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,107 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2085#true} {2085#true} #83#return; {2085#true} is VALID [2022-04-08 06:24:04,107 INFO L272 TraceCheckUtils]: 17: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,108 INFO L290 TraceCheckUtils]: 18: Hoare triple {2085#true} ~cond := #in~cond; {2144#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:24:04,108 INFO L290 TraceCheckUtils]: 19: Hoare triple {2144#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2148#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:24:04,109 INFO L290 TraceCheckUtils]: 20: Hoare triple {2148#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2148#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:24:04,109 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2148#(not (= |assume_abort_if_not_#in~cond| 0))} {2085#true} #85#return; {2155#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-08 06:24:04,110 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:04,110 INFO L290 TraceCheckUtils]: 23: Hoare triple {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:04,110 INFO L272 TraceCheckUtils]: 24: Hoare triple {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,111 INFO L290 TraceCheckUtils]: 25: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,111 INFO L290 TraceCheckUtils]: 26: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,111 INFO L290 TraceCheckUtils]: 27: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,112 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2085#true} {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:04,112 INFO L272 TraceCheckUtils]: 29: Hoare triple {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,112 INFO L290 TraceCheckUtils]: 30: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,112 INFO L290 TraceCheckUtils]: 31: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,112 INFO L290 TraceCheckUtils]: 32: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,113 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2085#true} {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:04,113 INFO L272 TraceCheckUtils]: 34: Hoare triple {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,113 INFO L290 TraceCheckUtils]: 35: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,113 INFO L290 TraceCheckUtils]: 36: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,113 INFO L290 TraceCheckUtils]: 37: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,115 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2085#true} {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:04,116 INFO L290 TraceCheckUtils]: 39: Hoare triple {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,117 INFO L290 TraceCheckUtils]: 40: Hoare triple {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,117 INFO L272 TraceCheckUtils]: 41: Hoare triple {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,117 INFO L290 TraceCheckUtils]: 42: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,117 INFO L290 TraceCheckUtils]: 43: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,117 INFO L290 TraceCheckUtils]: 44: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,118 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2085#true} {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,118 INFO L272 TraceCheckUtils]: 46: Hoare triple {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,118 INFO L290 TraceCheckUtils]: 47: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,119 INFO L290 TraceCheckUtils]: 48: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,119 INFO L290 TraceCheckUtils]: 49: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,119 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2085#true} {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,120 INFO L272 TraceCheckUtils]: 51: Hoare triple {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:04,120 INFO L290 TraceCheckUtils]: 52: Hoare triple {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:04,121 INFO L290 TraceCheckUtils]: 53: Hoare triple {2252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2086#false} is VALID [2022-04-08 06:24:04,121 INFO L290 TraceCheckUtils]: 54: Hoare triple {2086#false} assume !false; {2086#false} is VALID [2022-04-08 06:24:04,121 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-08 06:24:04,121 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:24:04,522 INFO L290 TraceCheckUtils]: 54: Hoare triple {2086#false} assume !false; {2086#false} is VALID [2022-04-08 06:24:04,523 INFO L290 TraceCheckUtils]: 53: Hoare triple {2252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2086#false} is VALID [2022-04-08 06:24:04,523 INFO L290 TraceCheckUtils]: 52: Hoare triple {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:04,524 INFO L272 TraceCheckUtils]: 51: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:04,524 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,524 INFO L290 TraceCheckUtils]: 49: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,525 INFO L290 TraceCheckUtils]: 48: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,525 INFO L290 TraceCheckUtils]: 47: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,525 INFO L272 TraceCheckUtils]: 46: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,527 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,528 INFO L290 TraceCheckUtils]: 44: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,528 INFO L290 TraceCheckUtils]: 43: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,528 INFO L290 TraceCheckUtils]: 42: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,528 INFO L272 TraceCheckUtils]: 41: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,528 INFO L290 TraceCheckUtils]: 40: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,591 INFO L290 TraceCheckUtils]: 39: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,591 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,591 INFO L290 TraceCheckUtils]: 37: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,592 INFO L290 TraceCheckUtils]: 36: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,592 INFO L290 TraceCheckUtils]: 35: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,592 INFO L272 TraceCheckUtils]: 34: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,592 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,592 INFO L290 TraceCheckUtils]: 32: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,592 INFO L290 TraceCheckUtils]: 31: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,593 INFO L290 TraceCheckUtils]: 30: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,593 INFO L272 TraceCheckUtils]: 29: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,593 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,593 INFO L290 TraceCheckUtils]: 27: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,593 INFO L290 TraceCheckUtils]: 26: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,593 INFO L290 TraceCheckUtils]: 25: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,593 INFO L272 TraceCheckUtils]: 24: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,594 INFO L290 TraceCheckUtils]: 23: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,594 INFO L290 TraceCheckUtils]: 22: Hoare triple {2085#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:04,594 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2085#true} {2085#true} #85#return; {2085#true} is VALID [2022-04-08 06:24:04,594 INFO L290 TraceCheckUtils]: 20: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,595 INFO L290 TraceCheckUtils]: 19: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,595 INFO L290 TraceCheckUtils]: 18: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,595 INFO L272 TraceCheckUtils]: 17: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,595 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2085#true} {2085#true} #83#return; {2085#true} is VALID [2022-04-08 06:24:04,595 INFO L290 TraceCheckUtils]: 15: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,595 INFO L290 TraceCheckUtils]: 14: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,595 INFO L290 TraceCheckUtils]: 13: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,595 INFO L272 TraceCheckUtils]: 12: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,595 INFO L290 TraceCheckUtils]: 11: Hoare triple {2085#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2085#true} is VALID [2022-04-08 06:24:04,595 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2085#true} {2085#true} #81#return; {2085#true} is VALID [2022-04-08 06:24:04,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,595 INFO L290 TraceCheckUtils]: 8: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-08 06:24:04,596 INFO L290 TraceCheckUtils]: 7: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-08 06:24:04,596 INFO L272 TraceCheckUtils]: 6: Hoare triple {2085#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {2085#true} is VALID [2022-04-08 06:24:04,596 INFO L290 TraceCheckUtils]: 5: Hoare triple {2085#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2085#true} is VALID [2022-04-08 06:24:04,596 INFO L272 TraceCheckUtils]: 4: Hoare triple {2085#true} call #t~ret6 := main(); {2085#true} is VALID [2022-04-08 06:24:04,596 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2085#true} {2085#true} #101#return; {2085#true} is VALID [2022-04-08 06:24:04,596 INFO L290 TraceCheckUtils]: 2: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-08 06:24:04,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {2085#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2085#true} is VALID [2022-04-08 06:24:04,599 INFO L272 TraceCheckUtils]: 0: Hoare triple {2085#true} call ULTIMATE.init(); {2085#true} is VALID [2022-04-08 06:24:04,600 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-08 06:24:04,601 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:24:04,601 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [376222255] [2022-04-08 06:24:04,601 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:24:04,601 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1979258627] [2022-04-08 06:24:04,601 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1979258627] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 06:24:04,601 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 06:24:04,601 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-08 06:24:04,601 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:24:04,601 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [279588813] [2022-04-08 06:24:04,602 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [279588813] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:24:04,602 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:24:04,602 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:24:04,602 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1942069184] [2022-04-08 06:24:04,602 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:24:04,602 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-08 06:24:04,603 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:24:04,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:24:04,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:04,632 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:24:04,632 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:04,632 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:24:04,632 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:24:04,633 INFO L87 Difference]: Start difference. First operand 64 states and 80 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:24:04,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:04,948 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-08 06:24:04,948 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:24:04,948 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-08 06:24:04,949 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:24:04,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:24:04,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-08 06:24:04,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:24:04,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-08 06:24:04,954 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-08 06:24:05,007 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:05,009 INFO L225 Difference]: With dead ends: 76 [2022-04-08 06:24:05,009 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 06:24:05,009 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 06:24:05,010 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:24:05,010 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:24:05,011 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 06:24:05,042 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-08 06:24:05,042 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:24:05,043 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 06:24:05,043 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 06:24:05,043 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 06:24:05,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:05,049 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-08 06:24:05,049 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-08 06:24:05,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:05,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:05,049 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-08 06:24:05,050 INFO L87 Difference]: Start difference. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-08 06:24:05,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:05,053 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-08 06:24:05,053 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-08 06:24:05,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:05,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:05,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:24:05,054 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:24:05,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 06:24:05,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-08 06:24:05,057 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-08 06:24:05,058 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:24:05,058 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-08 06:24:05,058 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:24:05,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 88 transitions. [2022-04-08 06:24:05,175 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-08 06:24:05,175 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-08 06:24:05,176 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-08 06:24:05,176 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:24:05,176 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:24:05,198 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-08 06:24:05,376 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:05,377 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:24:05,377 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:24:05,377 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-08 06:24:05,377 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:05,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [985088580] [2022-04-08 06:24:05,378 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:24:05,378 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 2 times [2022-04-08 06:24:05,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:24:05,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [852508222] [2022-04-08 06:24:05,378 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:24:05,378 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:24:05,404 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:24:05,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [325715382] [2022-04-08 06:24:05,405 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:24:05,405 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:05,405 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:24:05,406 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:24:05,419 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 06:24:05,459 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:24:05,459 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:24:05,460 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 06:24:05,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:24:05,473 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:24:05,671 INFO L272 TraceCheckUtils]: 0: Hoare triple {2868#true} call ULTIMATE.init(); {2868#true} is VALID [2022-04-08 06:24:05,671 INFO L290 TraceCheckUtils]: 1: Hoare triple {2868#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2868#true} is VALID [2022-04-08 06:24:05,671 INFO L290 TraceCheckUtils]: 2: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-08 06:24:05,672 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2868#true} {2868#true} #101#return; {2868#true} is VALID [2022-04-08 06:24:05,672 INFO L272 TraceCheckUtils]: 4: Hoare triple {2868#true} call #t~ret6 := main(); {2868#true} is VALID [2022-04-08 06:24:05,672 INFO L290 TraceCheckUtils]: 5: Hoare triple {2868#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2868#true} is VALID [2022-04-08 06:24:05,672 INFO L272 TraceCheckUtils]: 6: Hoare triple {2868#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {2868#true} is VALID [2022-04-08 06:24:05,672 INFO L290 TraceCheckUtils]: 7: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-08 06:24:05,672 INFO L290 TraceCheckUtils]: 8: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-08 06:24:05,673 INFO L290 TraceCheckUtils]: 9: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-08 06:24:05,673 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2868#true} {2868#true} #81#return; {2868#true} is VALID [2022-04-08 06:24:05,673 INFO L290 TraceCheckUtils]: 11: Hoare triple {2868#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2868#true} is VALID [2022-04-08 06:24:05,673 INFO L272 TraceCheckUtils]: 12: Hoare triple {2868#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {2868#true} is VALID [2022-04-08 06:24:05,673 INFO L290 TraceCheckUtils]: 13: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-08 06:24:05,673 INFO L290 TraceCheckUtils]: 14: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-08 06:24:05,673 INFO L290 TraceCheckUtils]: 15: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-08 06:24:05,674 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2868#true} {2868#true} #83#return; {2868#true} is VALID [2022-04-08 06:24:05,674 INFO L272 TraceCheckUtils]: 17: Hoare triple {2868#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2868#true} is VALID [2022-04-08 06:24:05,674 INFO L290 TraceCheckUtils]: 18: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-08 06:24:05,674 INFO L290 TraceCheckUtils]: 19: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-08 06:24:05,674 INFO L290 TraceCheckUtils]: 20: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-08 06:24:05,674 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2868#true} {2868#true} #85#return; {2868#true} is VALID [2022-04-08 06:24:05,675 INFO L290 TraceCheckUtils]: 22: Hoare triple {2868#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:05,675 INFO L290 TraceCheckUtils]: 23: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:05,676 INFO L272 TraceCheckUtils]: 24: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2868#true} is VALID [2022-04-08 06:24:05,676 INFO L290 TraceCheckUtils]: 25: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-08 06:24:05,676 INFO L290 TraceCheckUtils]: 26: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-08 06:24:05,676 INFO L290 TraceCheckUtils]: 27: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-08 06:24:05,677 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:05,677 INFO L272 TraceCheckUtils]: 29: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2868#true} is VALID [2022-04-08 06:24:05,677 INFO L290 TraceCheckUtils]: 30: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-08 06:24:05,677 INFO L290 TraceCheckUtils]: 31: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-08 06:24:05,677 INFO L290 TraceCheckUtils]: 32: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-08 06:24:05,678 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:05,678 INFO L272 TraceCheckUtils]: 34: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2868#true} is VALID [2022-04-08 06:24:05,678 INFO L290 TraceCheckUtils]: 35: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-08 06:24:05,678 INFO L290 TraceCheckUtils]: 36: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-08 06:24:05,678 INFO L290 TraceCheckUtils]: 37: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-08 06:24:05,679 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:05,680 INFO L290 TraceCheckUtils]: 39: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:05,680 INFO L290 TraceCheckUtils]: 40: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:05,680 INFO L272 TraceCheckUtils]: 41: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2868#true} is VALID [2022-04-08 06:24:05,680 INFO L290 TraceCheckUtils]: 42: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-08 06:24:05,680 INFO L290 TraceCheckUtils]: 43: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-08 06:24:05,681 INFO L290 TraceCheckUtils]: 44: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-08 06:24:05,681 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:05,681 INFO L272 TraceCheckUtils]: 46: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2868#true} is VALID [2022-04-08 06:24:05,681 INFO L290 TraceCheckUtils]: 47: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-08 06:24:05,682 INFO L290 TraceCheckUtils]: 48: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-08 06:24:05,682 INFO L290 TraceCheckUtils]: 49: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-08 06:24:05,682 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:05,683 INFO L290 TraceCheckUtils]: 51: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(1 != ~p~0); {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:05,684 INFO L272 TraceCheckUtils]: 52: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3030#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:05,684 INFO L290 TraceCheckUtils]: 53: Hoare triple {3030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:05,685 INFO L290 TraceCheckUtils]: 54: Hoare triple {3034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2869#false} is VALID [2022-04-08 06:24:05,685 INFO L290 TraceCheckUtils]: 55: Hoare triple {2869#false} assume !false; {2869#false} is VALID [2022-04-08 06:24:05,685 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-08 06:24:05,685 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 06:24:05,685 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:24:05,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [852508222] [2022-04-08 06:24:05,686 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:24:05,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [325715382] [2022-04-08 06:24:05,686 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [325715382] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:24:05,686 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:24:05,686 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:24:05,686 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:24:05,687 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [985088580] [2022-04-08 06:24:05,687 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [985088580] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:24:05,687 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:24:05,687 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:24:05,687 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [430879212] [2022-04-08 06:24:05,687 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:24:05,688 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-08 06:24:05,688 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:24:05,688 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 06:24:05,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:05,721 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:24:05,721 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:05,722 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:24:05,722 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 06:24:05,722 INFO L87 Difference]: Start difference. First operand 71 states and 88 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 06:24:06,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:06,062 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-08 06:24:06,062 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:24:06,062 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-08 06:24:06,062 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:24:06,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 06:24:06,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 06:24:06,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 06:24:06,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 06:24:06,065 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-08 06:24:06,122 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:06,124 INFO L225 Difference]: With dead ends: 79 [2022-04-08 06:24:06,124 INFO L226 Difference]: Without dead ends: 72 [2022-04-08 06:24:06,124 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 52 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:24:06,125 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:24:06,125 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 123 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:24:06,126 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-08 06:24:06,156 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-08 06:24:06,156 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:24:06,156 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:24:06,157 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:24:06,157 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:24:06,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:06,160 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-08 06:24:06,160 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-08 06:24:06,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:06,160 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:06,160 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-08 06:24:06,161 INFO L87 Difference]: Start difference. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-08 06:24:06,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:06,163 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-08 06:24:06,163 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-08 06:24:06,164 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:06,164 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:06,164 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:24:06,164 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:24:06,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:24:06,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-08 06:24:06,167 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-08 06:24:06,167 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:24:06,167 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-08 06:24:06,167 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 06:24:06,167 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 85 transitions. [2022-04-08 06:24:06,268 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:06,268 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-08 06:24:06,270 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 06:24:06,270 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:24:06,270 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:24:06,287 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-08 06:24:06,475 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:06,475 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:24:06,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:24:06,476 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-08 06:24:06,476 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:06,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [551759320] [2022-04-08 06:24:06,476 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:24:06,477 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-08 06:24:06,477 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:24:06,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2138890809] [2022-04-08 06:24:06,477 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:24:06,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:24:06,488 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:24:06,489 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1062173866] [2022-04-08 06:24:06,489 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:24:06,489 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:06,489 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:24:06,490 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:24:06,495 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 06:24:06,563 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:24:06,563 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:24:06,564 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 06:24:06,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:24:06,582 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:24:11,383 INFO L272 TraceCheckUtils]: 0: Hoare triple {3486#true} call ULTIMATE.init(); {3486#true} is VALID [2022-04-08 06:24:11,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {3486#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3486#true} is VALID [2022-04-08 06:24:11,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:11,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3486#true} {3486#true} #101#return; {3486#true} is VALID [2022-04-08 06:24:11,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {3486#true} call #t~ret6 := main(); {3486#true} is VALID [2022-04-08 06:24:11,384 INFO L290 TraceCheckUtils]: 5: Hoare triple {3486#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3486#true} is VALID [2022-04-08 06:24:11,384 INFO L272 TraceCheckUtils]: 6: Hoare triple {3486#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:11,384 INFO L290 TraceCheckUtils]: 7: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:11,385 INFO L290 TraceCheckUtils]: 8: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:11,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:11,385 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3486#true} {3486#true} #81#return; {3486#true} is VALID [2022-04-08 06:24:11,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {3486#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3486#true} is VALID [2022-04-08 06:24:11,385 INFO L272 TraceCheckUtils]: 12: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:11,385 INFO L290 TraceCheckUtils]: 13: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:11,385 INFO L290 TraceCheckUtils]: 14: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:11,385 INFO L290 TraceCheckUtils]: 15: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:11,385 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3486#true} {3486#true} #83#return; {3486#true} is VALID [2022-04-08 06:24:11,386 INFO L272 TraceCheckUtils]: 17: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:11,386 INFO L290 TraceCheckUtils]: 18: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:11,386 INFO L290 TraceCheckUtils]: 19: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:11,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:11,386 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3486#true} {3486#true} #85#return; {3486#true} is VALID [2022-04-08 06:24:11,386 INFO L290 TraceCheckUtils]: 22: Hoare triple {3486#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:11,387 INFO L290 TraceCheckUtils]: 23: Hoare triple {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:11,387 INFO L272 TraceCheckUtils]: 24: Hoare triple {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:11,387 INFO L290 TraceCheckUtils]: 25: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:11,387 INFO L290 TraceCheckUtils]: 26: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:11,387 INFO L290 TraceCheckUtils]: 27: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:11,388 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3486#true} {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:11,388 INFO L272 TraceCheckUtils]: 29: Hoare triple {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:11,388 INFO L290 TraceCheckUtils]: 30: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:11,388 INFO L290 TraceCheckUtils]: 31: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:11,388 INFO L290 TraceCheckUtils]: 32: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:11,389 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3486#true} {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:11,389 INFO L272 TraceCheckUtils]: 34: Hoare triple {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:11,389 INFO L290 TraceCheckUtils]: 35: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:11,389 INFO L290 TraceCheckUtils]: 36: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:11,390 INFO L290 TraceCheckUtils]: 37: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:11,391 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3486#true} {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:11,392 INFO L290 TraceCheckUtils]: 39: Hoare triple {3557#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:11,392 INFO L290 TraceCheckUtils]: 40: Hoare triple {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:11,392 INFO L272 TraceCheckUtils]: 41: Hoare triple {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:11,392 INFO L290 TraceCheckUtils]: 42: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:11,393 INFO L290 TraceCheckUtils]: 43: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:11,393 INFO L290 TraceCheckUtils]: 44: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:11,393 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3486#true} {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:11,393 INFO L272 TraceCheckUtils]: 46: Hoare triple {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:11,393 INFO L290 TraceCheckUtils]: 47: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:11,393 INFO L290 TraceCheckUtils]: 48: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:11,393 INFO L290 TraceCheckUtils]: 49: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:11,394 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3486#true} {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:11,394 INFO L272 TraceCheckUtils]: 51: Hoare triple {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:11,394 INFO L290 TraceCheckUtils]: 52: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:11,394 INFO L290 TraceCheckUtils]: 53: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:11,394 INFO L290 TraceCheckUtils]: 54: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:11,395 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3486#true} {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:11,395 INFO L290 TraceCheckUtils]: 56: Hoare triple {3609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:11,396 INFO L290 TraceCheckUtils]: 57: Hoare triple {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:11,396 INFO L272 TraceCheckUtils]: 58: Hoare triple {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:11,396 INFO L290 TraceCheckUtils]: 59: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:11,396 INFO L290 TraceCheckUtils]: 60: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:11,396 INFO L290 TraceCheckUtils]: 61: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:11,397 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3486#true} {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:11,397 INFO L272 TraceCheckUtils]: 63: Hoare triple {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:11,397 INFO L290 TraceCheckUtils]: 64: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:11,397 INFO L290 TraceCheckUtils]: 65: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:11,397 INFO L290 TraceCheckUtils]: 66: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:11,397 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3486#true} {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:11,399 INFO L290 TraceCheckUtils]: 68: Hoare triple {3661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3698#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:11,400 INFO L290 TraceCheckUtils]: 69: Hoare triple {3698#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3702#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-08 06:24:11,401 INFO L290 TraceCheckUtils]: 70: Hoare triple {3702#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} assume !false; {3702#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-08 06:24:11,401 INFO L272 TraceCheckUtils]: 71: Hoare triple {3702#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:11,407 INFO L290 TraceCheckUtils]: 72: Hoare triple {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3713#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:11,407 INFO L290 TraceCheckUtils]: 73: Hoare triple {3713#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3487#false} is VALID [2022-04-08 06:24:11,407 INFO L290 TraceCheckUtils]: 74: Hoare triple {3487#false} assume !false; {3487#false} is VALID [2022-04-08 06:24:11,408 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-08 06:24:11,408 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:24:18,086 INFO L290 TraceCheckUtils]: 74: Hoare triple {3487#false} assume !false; {3487#false} is VALID [2022-04-08 06:24:18,086 INFO L290 TraceCheckUtils]: 73: Hoare triple {3713#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3487#false} is VALID [2022-04-08 06:24:18,087 INFO L290 TraceCheckUtils]: 72: Hoare triple {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3713#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:18,087 INFO L272 TraceCheckUtils]: 71: Hoare triple {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:18,088 INFO L290 TraceCheckUtils]: 70: Hoare triple {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 06:24:18,090 INFO L290 TraceCheckUtils]: 69: Hoare triple {3736#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 06:24:18,099 INFO L290 TraceCheckUtils]: 68: Hoare triple {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3736#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-08 06:24:18,100 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3486#true} {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #95#return; {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:24:18,100 INFO L290 TraceCheckUtils]: 66: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:18,100 INFO L290 TraceCheckUtils]: 65: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:18,100 INFO L290 TraceCheckUtils]: 64: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:18,101 INFO L272 TraceCheckUtils]: 63: Hoare triple {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:18,101 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3486#true} {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #93#return; {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:24:18,101 INFO L290 TraceCheckUtils]: 61: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:18,101 INFO L290 TraceCheckUtils]: 60: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:18,101 INFO L290 TraceCheckUtils]: 59: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:18,102 INFO L272 TraceCheckUtils]: 58: Hoare triple {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:18,103 INFO L290 TraceCheckUtils]: 57: Hoare triple {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:24:18,103 INFO L290 TraceCheckUtils]: 56: Hoare triple {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {3740#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:24:18,104 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3486#true} {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #91#return; {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:18,104 INFO L290 TraceCheckUtils]: 54: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:18,104 INFO L290 TraceCheckUtils]: 53: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:18,104 INFO L290 TraceCheckUtils]: 52: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:18,104 INFO L272 TraceCheckUtils]: 51: Hoare triple {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:18,105 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3486#true} {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #89#return; {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:18,105 INFO L290 TraceCheckUtils]: 49: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:18,105 INFO L290 TraceCheckUtils]: 48: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:18,105 INFO L290 TraceCheckUtils]: 47: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:18,105 INFO L272 TraceCheckUtils]: 46: Hoare triple {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:18,106 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3486#true} {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #87#return; {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:18,106 INFO L290 TraceCheckUtils]: 44: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:18,106 INFO L290 TraceCheckUtils]: 43: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:18,106 INFO L290 TraceCheckUtils]: 42: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:18,106 INFO L272 TraceCheckUtils]: 41: Hoare triple {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:18,109 INFO L290 TraceCheckUtils]: 40: Hoare triple {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !false; {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:18,113 INFO L290 TraceCheckUtils]: 39: Hoare triple {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3777#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:18,113 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3486#true} {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:24:18,113 INFO L290 TraceCheckUtils]: 37: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:18,114 INFO L290 TraceCheckUtils]: 36: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:18,114 INFO L290 TraceCheckUtils]: 35: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:18,114 INFO L272 TraceCheckUtils]: 34: Hoare triple {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:18,114 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3486#true} {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:24:18,114 INFO L290 TraceCheckUtils]: 32: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:18,114 INFO L290 TraceCheckUtils]: 31: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:18,114 INFO L290 TraceCheckUtils]: 30: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:18,115 INFO L272 TraceCheckUtils]: 29: Hoare triple {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:18,116 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3486#true} {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:24:18,116 INFO L290 TraceCheckUtils]: 27: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:18,116 INFO L290 TraceCheckUtils]: 26: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:18,116 INFO L290 TraceCheckUtils]: 25: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:18,116 INFO L272 TraceCheckUtils]: 24: Hoare triple {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:18,117 INFO L290 TraceCheckUtils]: 23: Hoare triple {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:24:18,118 INFO L290 TraceCheckUtils]: 22: Hoare triple {3486#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3829#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:24:18,118 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3486#true} {3486#true} #85#return; {3486#true} is VALID [2022-04-08 06:24:18,118 INFO L290 TraceCheckUtils]: 20: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:18,118 INFO L290 TraceCheckUtils]: 19: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:18,118 INFO L290 TraceCheckUtils]: 18: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:18,118 INFO L272 TraceCheckUtils]: 17: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:18,118 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3486#true} {3486#true} #83#return; {3486#true} is VALID [2022-04-08 06:24:18,118 INFO L290 TraceCheckUtils]: 15: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:18,118 INFO L290 TraceCheckUtils]: 14: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:18,118 INFO L290 TraceCheckUtils]: 13: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:18,118 INFO L272 TraceCheckUtils]: 12: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:18,119 INFO L290 TraceCheckUtils]: 11: Hoare triple {3486#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3486#true} is VALID [2022-04-08 06:24:18,119 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3486#true} {3486#true} #81#return; {3486#true} is VALID [2022-04-08 06:24:18,119 INFO L290 TraceCheckUtils]: 9: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:18,119 INFO L290 TraceCheckUtils]: 8: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-08 06:24:18,119 INFO L290 TraceCheckUtils]: 7: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-08 06:24:18,119 INFO L272 TraceCheckUtils]: 6: Hoare triple {3486#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {3486#true} is VALID [2022-04-08 06:24:18,119 INFO L290 TraceCheckUtils]: 5: Hoare triple {3486#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3486#true} is VALID [2022-04-08 06:24:18,119 INFO L272 TraceCheckUtils]: 4: Hoare triple {3486#true} call #t~ret6 := main(); {3486#true} is VALID [2022-04-08 06:24:18,119 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3486#true} {3486#true} #101#return; {3486#true} is VALID [2022-04-08 06:24:18,119 INFO L290 TraceCheckUtils]: 2: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-08 06:24:18,119 INFO L290 TraceCheckUtils]: 1: Hoare triple {3486#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3486#true} is VALID [2022-04-08 06:24:18,119 INFO L272 TraceCheckUtils]: 0: Hoare triple {3486#true} call ULTIMATE.init(); {3486#true} is VALID [2022-04-08 06:24:18,120 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-08 06:24:18,120 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:24:18,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2138890809] [2022-04-08 06:24:18,120 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:24:18,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1062173866] [2022-04-08 06:24:18,120 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1062173866] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:24:18,120 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:24:18,120 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-08 06:24:18,121 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:24:18,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [551759320] [2022-04-08 06:24:18,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [551759320] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:24:18,121 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:24:18,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 06:24:18,121 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [353766151] [2022-04-08 06:24:18,121 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:24:18,121 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 75 [2022-04-08 06:24:18,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:24:18,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:24:18,170 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-08 06:24:18,170 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 06:24:18,171 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:18,171 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 06:24:18,171 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-08 06:24:18,171 INFO L87 Difference]: Start difference. First operand 71 states and 85 transitions. Second operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:24:19,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:19,195 INFO L93 Difference]: Finished difference Result 135 states and 165 transitions. [2022-04-08 06:24:19,196 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 06:24:19,196 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 75 [2022-04-08 06:24:19,196 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:24:19,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:24:19,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-04-08 06:24:19,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:24:19,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-04-08 06:24:19,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 102 transitions. [2022-04-08 06:24:19,293 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:19,298 INFO L225 Difference]: With dead ends: 135 [2022-04-08 06:24:19,299 INFO L226 Difference]: Without dead ends: 108 [2022-04-08 06:24:19,302 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 136 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-08 06:24:19,302 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 10 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 224 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 237 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 224 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 06:24:19,303 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 211 Invalid, 237 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 224 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 06:24:19,303 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-08 06:24:19,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 106. [2022-04-08 06:24:19,371 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:24:19,372 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:19,379 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:19,382 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:19,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:19,386 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-08 06:24:19,386 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-08 06:24:19,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:19,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:19,387 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-08 06:24:19,387 INFO L87 Difference]: Start difference. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-08 06:24:19,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:19,390 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-08 06:24:19,390 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-08 06:24:19,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:19,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:19,391 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:24:19,391 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:24:19,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:19,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 125 transitions. [2022-04-08 06:24:19,395 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 125 transitions. Word has length 75 [2022-04-08 06:24:19,396 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:24:19,396 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 125 transitions. [2022-04-08 06:24:19,396 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:24:19,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 125 transitions. [2022-04-08 06:24:19,570 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:19,570 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-08 06:24:19,571 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 06:24:19,571 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:24:19,571 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:24:19,589 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 06:24:19,775 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:19,775 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:24:19,776 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:24:19,776 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-08 06:24:19,776 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:19,776 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [913704260] [2022-04-08 06:24:19,776 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:24:19,776 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-08 06:24:19,776 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:24:19,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [785488057] [2022-04-08 06:24:19,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:24:19,777 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:24:19,786 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:24:19,787 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [585054856] [2022-04-08 06:24:19,787 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:24:19,787 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:19,787 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:24:19,788 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:24:19,793 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 06:24:19,845 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:24:19,845 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:24:19,846 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 06:24:19,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:24:19,869 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:24:20,692 INFO L272 TraceCheckUtils]: 0: Hoare triple {4649#true} call ULTIMATE.init(); {4649#true} is VALID [2022-04-08 06:24:20,692 INFO L290 TraceCheckUtils]: 1: Hoare triple {4649#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4649#true} is VALID [2022-04-08 06:24:20,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,692 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4649#true} {4649#true} #101#return; {4649#true} is VALID [2022-04-08 06:24:20,693 INFO L272 TraceCheckUtils]: 4: Hoare triple {4649#true} call #t~ret6 := main(); {4649#true} is VALID [2022-04-08 06:24:20,693 INFO L290 TraceCheckUtils]: 5: Hoare triple {4649#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4649#true} is VALID [2022-04-08 06:24:20,693 INFO L272 TraceCheckUtils]: 6: Hoare triple {4649#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:20,693 INFO L290 TraceCheckUtils]: 7: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:20,693 INFO L290 TraceCheckUtils]: 8: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:20,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,693 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4649#true} {4649#true} #81#return; {4649#true} is VALID [2022-04-08 06:24:20,693 INFO L290 TraceCheckUtils]: 11: Hoare triple {4649#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4649#true} is VALID [2022-04-08 06:24:20,693 INFO L272 TraceCheckUtils]: 12: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:20,694 INFO L290 TraceCheckUtils]: 13: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:20,694 INFO L290 TraceCheckUtils]: 14: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:20,694 INFO L290 TraceCheckUtils]: 15: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,694 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4649#true} {4649#true} #83#return; {4649#true} is VALID [2022-04-08 06:24:20,694 INFO L272 TraceCheckUtils]: 17: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:20,694 INFO L290 TraceCheckUtils]: 18: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:20,694 INFO L290 TraceCheckUtils]: 19: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:20,694 INFO L290 TraceCheckUtils]: 20: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,694 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4649#true} {4649#true} #85#return; {4649#true} is VALID [2022-04-08 06:24:20,695 INFO L290 TraceCheckUtils]: 22: Hoare triple {4649#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:20,695 INFO L290 TraceCheckUtils]: 23: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:20,695 INFO L272 TraceCheckUtils]: 24: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:20,696 INFO L290 TraceCheckUtils]: 25: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:20,696 INFO L290 TraceCheckUtils]: 26: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:20,696 INFO L290 TraceCheckUtils]: 27: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,696 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4649#true} {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:20,696 INFO L272 TraceCheckUtils]: 29: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:20,696 INFO L290 TraceCheckUtils]: 30: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:20,696 INFO L290 TraceCheckUtils]: 31: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:20,696 INFO L290 TraceCheckUtils]: 32: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,697 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4649#true} {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:20,697 INFO L272 TraceCheckUtils]: 34: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:20,697 INFO L290 TraceCheckUtils]: 35: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:20,697 INFO L290 TraceCheckUtils]: 36: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:20,697 INFO L290 TraceCheckUtils]: 37: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,698 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4649#true} {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:20,698 INFO L290 TraceCheckUtils]: 39: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:20,699 INFO L290 TraceCheckUtils]: 40: Hoare triple {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:20,699 INFO L272 TraceCheckUtils]: 41: Hoare triple {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:20,699 INFO L290 TraceCheckUtils]: 42: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:20,699 INFO L290 TraceCheckUtils]: 43: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:20,699 INFO L290 TraceCheckUtils]: 44: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,699 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4649#true} {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:20,700 INFO L272 TraceCheckUtils]: 46: Hoare triple {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:20,700 INFO L290 TraceCheckUtils]: 47: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:20,700 INFO L290 TraceCheckUtils]: 48: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:20,700 INFO L290 TraceCheckUtils]: 49: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,700 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4649#true} {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:20,700 INFO L272 TraceCheckUtils]: 51: Hoare triple {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:20,700 INFO L290 TraceCheckUtils]: 52: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:20,701 INFO L290 TraceCheckUtils]: 53: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:20,701 INFO L290 TraceCheckUtils]: 54: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,701 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4649#true} {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:20,702 INFO L290 TraceCheckUtils]: 56: Hoare triple {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 06:24:20,702 INFO L290 TraceCheckUtils]: 57: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 06:24:20,702 INFO L272 TraceCheckUtils]: 58: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:20,702 INFO L290 TraceCheckUtils]: 59: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:20,702 INFO L290 TraceCheckUtils]: 60: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:20,703 INFO L290 TraceCheckUtils]: 61: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,704 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4649#true} {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 06:24:20,704 INFO L272 TraceCheckUtils]: 63: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:20,704 INFO L290 TraceCheckUtils]: 64: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:20,704 INFO L290 TraceCheckUtils]: 65: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:20,704 INFO L290 TraceCheckUtils]: 66: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,704 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4649#true} {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 06:24:20,705 INFO L290 TraceCheckUtils]: 68: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:20,706 INFO L290 TraceCheckUtils]: 69: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:20,706 INFO L290 TraceCheckUtils]: 70: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:20,706 INFO L272 TraceCheckUtils]: 71: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:20,706 INFO L290 TraceCheckUtils]: 72: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:20,706 INFO L290 TraceCheckUtils]: 73: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:20,707 INFO L290 TraceCheckUtils]: 74: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:20,707 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4649#true} {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #93#return; {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:20,708 INFO L272 TraceCheckUtils]: 76: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:20,709 INFO L290 TraceCheckUtils]: 77: Hoare triple {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:20,709 INFO L290 TraceCheckUtils]: 78: Hoare triple {4890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4650#false} is VALID [2022-04-08 06:24:20,709 INFO L290 TraceCheckUtils]: 79: Hoare triple {4650#false} assume !false; {4650#false} is VALID [2022-04-08 06:24:20,709 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-08 06:24:20,710 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:24:25,048 INFO L290 TraceCheckUtils]: 79: Hoare triple {4650#false} assume !false; {4650#false} is VALID [2022-04-08 06:24:25,049 INFO L290 TraceCheckUtils]: 78: Hoare triple {4890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4650#false} is VALID [2022-04-08 06:24:25,049 INFO L290 TraceCheckUtils]: 77: Hoare triple {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:25,050 INFO L272 TraceCheckUtils]: 76: Hoare triple {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:25,051 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4649#true} {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:25,051 INFO L290 TraceCheckUtils]: 74: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,051 INFO L290 TraceCheckUtils]: 73: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:25,051 INFO L290 TraceCheckUtils]: 72: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:25,051 INFO L272 TraceCheckUtils]: 71: Hoare triple {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:25,051 INFO L290 TraceCheckUtils]: 70: Hoare triple {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:25,052 INFO L290 TraceCheckUtils]: 69: Hoare triple {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:25,063 INFO L290 TraceCheckUtils]: 68: Hoare triple {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:25,064 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4649#true} {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #95#return; {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 06:24:25,064 INFO L290 TraceCheckUtils]: 66: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,064 INFO L290 TraceCheckUtils]: 65: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:25,064 INFO L290 TraceCheckUtils]: 64: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:25,064 INFO L272 TraceCheckUtils]: 63: Hoare triple {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:25,065 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4649#true} {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #93#return; {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 06:24:25,065 INFO L290 TraceCheckUtils]: 61: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,065 INFO L290 TraceCheckUtils]: 60: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:25,065 INFO L290 TraceCheckUtils]: 59: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:25,065 INFO L272 TraceCheckUtils]: 58: Hoare triple {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:25,074 INFO L290 TraceCheckUtils]: 57: Hoare triple {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !false; {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 06:24:25,076 INFO L290 TraceCheckUtils]: 56: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 06:24:25,076 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4649#true} {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #91#return; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:25,076 INFO L290 TraceCheckUtils]: 54: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,076 INFO L290 TraceCheckUtils]: 53: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:25,076 INFO L290 TraceCheckUtils]: 52: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:25,077 INFO L272 TraceCheckUtils]: 51: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:25,077 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4649#true} {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #89#return; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:25,077 INFO L290 TraceCheckUtils]: 49: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,077 INFO L290 TraceCheckUtils]: 48: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:25,077 INFO L290 TraceCheckUtils]: 47: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:25,077 INFO L272 TraceCheckUtils]: 46: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:25,078 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4649#true} {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #87#return; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:25,078 INFO L290 TraceCheckUtils]: 44: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,078 INFO L290 TraceCheckUtils]: 43: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:25,079 INFO L290 TraceCheckUtils]: 42: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:25,079 INFO L272 TraceCheckUtils]: 41: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:25,080 INFO L290 TraceCheckUtils]: 40: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !false; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:25,084 INFO L290 TraceCheckUtils]: 39: Hoare triple {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:25,084 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4649#true} {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:24:25,084 INFO L290 TraceCheckUtils]: 37: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,085 INFO L290 TraceCheckUtils]: 36: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:25,085 INFO L290 TraceCheckUtils]: 35: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:25,085 INFO L272 TraceCheckUtils]: 34: Hoare triple {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:25,100 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4649#true} {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:24:25,100 INFO L290 TraceCheckUtils]: 32: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,100 INFO L290 TraceCheckUtils]: 31: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:25,100 INFO L290 TraceCheckUtils]: 30: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:25,100 INFO L272 TraceCheckUtils]: 29: Hoare triple {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:25,101 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4649#true} {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:24:25,101 INFO L290 TraceCheckUtils]: 27: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,101 INFO L290 TraceCheckUtils]: 26: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:25,101 INFO L290 TraceCheckUtils]: 25: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:25,101 INFO L272 TraceCheckUtils]: 24: Hoare triple {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:25,102 INFO L290 TraceCheckUtils]: 23: Hoare triple {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:24:25,102 INFO L290 TraceCheckUtils]: 22: Hoare triple {4649#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:24:25,118 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4649#true} {4649#true} #85#return; {4649#true} is VALID [2022-04-08 06:24:25,118 INFO L290 TraceCheckUtils]: 20: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,118 INFO L290 TraceCheckUtils]: 19: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:25,118 INFO L290 TraceCheckUtils]: 18: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:25,118 INFO L272 TraceCheckUtils]: 17: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:25,119 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4649#true} {4649#true} #83#return; {4649#true} is VALID [2022-04-08 06:24:25,119 INFO L290 TraceCheckUtils]: 15: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:25,119 INFO L290 TraceCheckUtils]: 13: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:25,119 INFO L272 TraceCheckUtils]: 12: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:25,119 INFO L290 TraceCheckUtils]: 11: Hoare triple {4649#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4649#true} is VALID [2022-04-08 06:24:25,119 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4649#true} {4649#true} #81#return; {4649#true} is VALID [2022-04-08 06:24:25,119 INFO L290 TraceCheckUtils]: 9: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,119 INFO L290 TraceCheckUtils]: 8: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-08 06:24:25,119 INFO L290 TraceCheckUtils]: 7: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-08 06:24:25,119 INFO L272 TraceCheckUtils]: 6: Hoare triple {4649#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {4649#true} is VALID [2022-04-08 06:24:25,120 INFO L290 TraceCheckUtils]: 5: Hoare triple {4649#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4649#true} is VALID [2022-04-08 06:24:25,120 INFO L272 TraceCheckUtils]: 4: Hoare triple {4649#true} call #t~ret6 := main(); {4649#true} is VALID [2022-04-08 06:24:25,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4649#true} {4649#true} #101#return; {4649#true} is VALID [2022-04-08 06:24:25,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-08 06:24:25,120 INFO L290 TraceCheckUtils]: 1: Hoare triple {4649#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4649#true} is VALID [2022-04-08 06:24:25,120 INFO L272 TraceCheckUtils]: 0: Hoare triple {4649#true} call ULTIMATE.init(); {4649#true} is VALID [2022-04-08 06:24:25,121 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-08 06:24:25,121 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:24:25,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [785488057] [2022-04-08 06:24:25,121 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:24:25,122 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [585054856] [2022-04-08 06:24:25,122 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [585054856] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:24:25,122 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:24:25,122 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-08 06:24:25,122 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:24:25,122 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [913704260] [2022-04-08 06:24:25,123 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [913704260] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:24:25,123 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:24:25,123 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 06:24:25,123 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1923697213] [2022-04-08 06:24:25,123 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:24:25,124 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 80 [2022-04-08 06:24:25,124 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:24:25,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 06:24:25,174 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:25,175 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 06:24:25,175 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:25,175 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 06:24:25,175 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-08 06:24:25,175 INFO L87 Difference]: Start difference. First operand 106 states and 125 transitions. Second operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 06:24:25,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:25,917 INFO L93 Difference]: Finished difference Result 133 states and 159 transitions. [2022-04-08 06:24:25,917 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 06:24:25,918 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 80 [2022-04-08 06:24:25,918 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:24:25,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 06:24:25,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2022-04-08 06:24:25,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 06:24:25,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2022-04-08 06:24:25,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 98 transitions. [2022-04-08 06:24:26,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:26,013 INFO L225 Difference]: With dead ends: 133 [2022-04-08 06:24:26,013 INFO L226 Difference]: Without dead ends: 110 [2022-04-08 06:24:26,014 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 148 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-08 06:24:26,014 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 10 mSDsluCounter, 198 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 251 SdHoareTripleChecker+Invalid, 183 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 06:24:26,015 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 251 Invalid, 183 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 06:24:26,015 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-08 06:24:26,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-08 06:24:26,091 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:24:26,091 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:26,091 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:26,091 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:26,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:26,095 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-08 06:24:26,095 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-08 06:24:26,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:26,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:26,096 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-08 06:24:26,096 INFO L87 Difference]: Start difference. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-08 06:24:26,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:26,099 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-08 06:24:26,100 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-08 06:24:26,100 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:26,100 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:26,100 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:24:26,100 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:24:26,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:26,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 126 transitions. [2022-04-08 06:24:26,104 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 126 transitions. Word has length 80 [2022-04-08 06:24:26,104 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:24:26,104 INFO L478 AbstractCegarLoop]: Abstraction has 110 states and 126 transitions. [2022-04-08 06:24:26,104 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 06:24:26,104 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 126 transitions. [2022-04-08 06:24:26,259 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:26,260 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-08 06:24:26,260 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 06:24:26,261 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:24:26,261 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:24:26,282 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 06:24:26,479 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:26,479 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:24:26,480 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:24:26,480 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-08 06:24:26,480 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:26,480 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2126908868] [2022-04-08 06:24:26,480 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:24:26,480 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-08 06:24:26,480 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:24:26,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [705802162] [2022-04-08 06:24:26,481 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:24:26,481 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:24:26,499 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:24:26,499 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2096213921] [2022-04-08 06:24:26,500 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:24:26,500 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:26,500 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:24:26,501 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:24:26,523 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 06:24:26,559 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:24:26,559 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:24:26,561 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-08 06:24:26,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:24:26,579 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:24:53,525 INFO L272 TraceCheckUtils]: 0: Hoare triple {5850#true} call ULTIMATE.init(); {5850#true} is VALID [2022-04-08 06:24:53,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {5850#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L290 TraceCheckUtils]: 2: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5850#true} {5850#true} #101#return; {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L272 TraceCheckUtils]: 4: Hoare triple {5850#true} call #t~ret6 := main(); {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L290 TraceCheckUtils]: 5: Hoare triple {5850#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L272 TraceCheckUtils]: 6: Hoare triple {5850#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L290 TraceCheckUtils]: 7: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L290 TraceCheckUtils]: 8: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L290 TraceCheckUtils]: 9: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5850#true} {5850#true} #81#return; {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L290 TraceCheckUtils]: 11: Hoare triple {5850#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L272 TraceCheckUtils]: 12: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L290 TraceCheckUtils]: 13: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:24:53,526 INFO L290 TraceCheckUtils]: 14: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:24:53,527 INFO L290 TraceCheckUtils]: 15: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:24:53,527 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5850#true} {5850#true} #83#return; {5850#true} is VALID [2022-04-08 06:24:53,527 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,527 INFO L290 TraceCheckUtils]: 18: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:24:53,527 INFO L290 TraceCheckUtils]: 19: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:24:53,527 INFO L290 TraceCheckUtils]: 20: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:24:53,527 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5850#true} {5850#true} #85#return; {5850#true} is VALID [2022-04-08 06:24:53,527 INFO L290 TraceCheckUtils]: 22: Hoare triple {5850#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:53,528 INFO L290 TraceCheckUtils]: 23: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} assume !false; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:53,528 INFO L272 TraceCheckUtils]: 24: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,528 INFO L290 TraceCheckUtils]: 25: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:24:53,528 INFO L290 TraceCheckUtils]: 26: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:24:53,528 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:24:53,529 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5850#true} {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} #87#return; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:53,529 INFO L272 TraceCheckUtils]: 29: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,529 INFO L290 TraceCheckUtils]: 30: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:24:53,529 INFO L290 TraceCheckUtils]: 31: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:24:53,529 INFO L290 TraceCheckUtils]: 32: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:24:53,530 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5850#true} {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} #89#return; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:53,530 INFO L272 TraceCheckUtils]: 34: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,530 INFO L290 TraceCheckUtils]: 35: Hoare triple {5850#true} ~cond := #in~cond; {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:53,530 INFO L290 TraceCheckUtils]: 36: Hoare triple {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:24:53,531 INFO L290 TraceCheckUtils]: 37: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:24:53,531 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} #91#return; {5972#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:53,532 INFO L290 TraceCheckUtils]: 39: Hoare triple {5972#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:53,533 INFO L290 TraceCheckUtils]: 40: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:53,533 INFO L272 TraceCheckUtils]: 41: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,533 INFO L290 TraceCheckUtils]: 42: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:24:53,533 INFO L290 TraceCheckUtils]: 43: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:24:53,533 INFO L290 TraceCheckUtils]: 44: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:24:53,533 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5850#true} {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #87#return; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:53,534 INFO L272 TraceCheckUtils]: 46: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,534 INFO L290 TraceCheckUtils]: 47: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:24:53,534 INFO L290 TraceCheckUtils]: 48: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:24:53,534 INFO L290 TraceCheckUtils]: 49: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:24:53,534 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5850#true} {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #89#return; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:53,534 INFO L272 TraceCheckUtils]: 51: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,534 INFO L290 TraceCheckUtils]: 52: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:24:53,535 INFO L290 TraceCheckUtils]: 53: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:24:53,535 INFO L290 TraceCheckUtils]: 54: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:24:53,535 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5850#true} {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #91#return; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:53,536 INFO L290 TraceCheckUtils]: 56: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:53,536 INFO L290 TraceCheckUtils]: 57: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:53,536 INFO L272 TraceCheckUtils]: 58: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,536 INFO L290 TraceCheckUtils]: 59: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:24:53,536 INFO L290 TraceCheckUtils]: 60: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:24:53,536 INFO L290 TraceCheckUtils]: 61: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:24:53,539 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5850#true} {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #93#return; {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:53,539 INFO L272 TraceCheckUtils]: 63: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,540 INFO L290 TraceCheckUtils]: 64: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:24:53,540 INFO L290 TraceCheckUtils]: 65: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:24:53,540 INFO L290 TraceCheckUtils]: 66: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:24:53,540 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5850#true} {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #95#return; {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:53,542 INFO L290 TraceCheckUtils]: 68: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6065#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:53,543 INFO L290 TraceCheckUtils]: 69: Hoare triple {6065#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:24:53,544 INFO L290 TraceCheckUtils]: 70: Hoare triple {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} assume !false; {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:24:53,544 INFO L272 TraceCheckUtils]: 71: Hoare triple {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,544 INFO L290 TraceCheckUtils]: 72: Hoare triple {5850#true} ~cond := #in~cond; {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:53,544 INFO L290 TraceCheckUtils]: 73: Hoare triple {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:24:53,545 INFO L290 TraceCheckUtils]: 74: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:24:53,550 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} #93#return; {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} is VALID [2022-04-08 06:24:53,550 INFO L272 TraceCheckUtils]: 76: Hoare triple {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:24:53,550 INFO L290 TraceCheckUtils]: 77: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:24:53,550 INFO L290 TraceCheckUtils]: 78: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:24:53,550 INFO L290 TraceCheckUtils]: 79: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:24:53,551 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5850#true} {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} #95#return; {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} is VALID [2022-04-08 06:24:53,551 INFO L290 TraceCheckUtils]: 81: Hoare triple {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} assume !(1 != ~p~0); {6107#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (= main_~q~0 1))} is VALID [2022-04-08 06:24:53,553 INFO L272 TraceCheckUtils]: 82: Hoare triple {6107#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:53,553 INFO L290 TraceCheckUtils]: 83: Hoare triple {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6115#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:53,553 INFO L290 TraceCheckUtils]: 84: Hoare triple {6115#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5851#false} is VALID [2022-04-08 06:24:53,553 INFO L290 TraceCheckUtils]: 85: Hoare triple {5851#false} assume !false; {5851#false} is VALID [2022-04-08 06:24:53,554 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 45 proven. 32 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-08 06:24:53,554 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:27:01,046 INFO L290 TraceCheckUtils]: 85: Hoare triple {5851#false} assume !false; {5851#false} is VALID [2022-04-08 06:27:01,047 INFO L290 TraceCheckUtils]: 84: Hoare triple {6115#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5851#false} is VALID [2022-04-08 06:27:01,047 INFO L290 TraceCheckUtils]: 83: Hoare triple {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6115#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:27:01,048 INFO L272 TraceCheckUtils]: 82: Hoare triple {6131#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:27:01,048 INFO L290 TraceCheckUtils]: 81: Hoare triple {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {6131#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-08 06:27:01,049 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5850#true} {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 06:27:01,049 INFO L290 TraceCheckUtils]: 79: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:27:01,049 INFO L290 TraceCheckUtils]: 78: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:27:01,049 INFO L290 TraceCheckUtils]: 77: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:27:01,049 INFO L272 TraceCheckUtils]: 76: Hoare triple {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,050 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} #93#return; {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 06:27:01,050 INFO L290 TraceCheckUtils]: 74: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:27:01,050 INFO L290 TraceCheckUtils]: 73: Hoare triple {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:27:01,051 INFO L290 TraceCheckUtils]: 72: Hoare triple {5850#true} ~cond := #in~cond; {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:27:01,051 INFO L272 TraceCheckUtils]: 71: Hoare triple {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,051 INFO L290 TraceCheckUtils]: 70: Hoare triple {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} assume !false; {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} is VALID [2022-04-08 06:27:01,055 INFO L290 TraceCheckUtils]: 69: Hoare triple {6174#(or (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* main_~d~0 (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} is VALID [2022-04-08 06:27:01,060 INFO L290 TraceCheckUtils]: 68: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6174#(or (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* main_~d~0 (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 06:27:01,066 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5850#true} {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} #95#return; {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} is VALID [2022-04-08 06:27:01,066 INFO L290 TraceCheckUtils]: 66: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:27:01,066 INFO L290 TraceCheckUtils]: 65: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:27:01,066 INFO L290 TraceCheckUtils]: 64: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:27:01,067 INFO L272 TraceCheckUtils]: 63: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,067 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5850#true} {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} #93#return; {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} is VALID [2022-04-08 06:27:01,068 INFO L290 TraceCheckUtils]: 61: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:27:01,068 INFO L290 TraceCheckUtils]: 60: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:27:01,068 INFO L290 TraceCheckUtils]: 59: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:27:01,068 INFO L272 TraceCheckUtils]: 58: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,069 INFO L290 TraceCheckUtils]: 57: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} assume !false; {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} is VALID [2022-04-08 06:27:01,070 INFO L290 TraceCheckUtils]: 56: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} is VALID [2022-04-08 06:27:01,071 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5850#true} {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} #91#return; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:27:01,071 INFO L290 TraceCheckUtils]: 54: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:27:01,071 INFO L290 TraceCheckUtils]: 53: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:27:01,071 INFO L290 TraceCheckUtils]: 52: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:27:01,071 INFO L272 TraceCheckUtils]: 51: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,071 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5850#true} {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} #89#return; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:27:01,072 INFO L290 TraceCheckUtils]: 49: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:27:01,072 INFO L290 TraceCheckUtils]: 48: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:27:01,072 INFO L290 TraceCheckUtils]: 47: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:27:01,072 INFO L272 TraceCheckUtils]: 46: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,072 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5850#true} {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} #87#return; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:27:01,072 INFO L290 TraceCheckUtils]: 44: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:27:01,072 INFO L290 TraceCheckUtils]: 43: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:27:01,073 INFO L290 TraceCheckUtils]: 42: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:27:01,073 INFO L272 TraceCheckUtils]: 41: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,074 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} assume !false; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:27:01,077 INFO L290 TraceCheckUtils]: 39: Hoare triple {6267#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:27:01,078 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {6267#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:27:01,079 INFO L290 TraceCheckUtils]: 37: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:27:01,079 INFO L290 TraceCheckUtils]: 36: Hoare triple {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:27:01,079 INFO L290 TraceCheckUtils]: 35: Hoare triple {5850#true} ~cond := #in~cond; {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:27:01,080 INFO L272 TraceCheckUtils]: 34: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,080 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5850#true} {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:27:01,080 INFO L290 TraceCheckUtils]: 32: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:27:01,080 INFO L290 TraceCheckUtils]: 31: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:27:01,080 INFO L290 TraceCheckUtils]: 30: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:27:01,081 INFO L272 TraceCheckUtils]: 29: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,081 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5850#true} {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:27:01,081 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:27:01,081 INFO L290 TraceCheckUtils]: 26: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:27:01,081 INFO L290 TraceCheckUtils]: 25: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:27:01,081 INFO L272 TraceCheckUtils]: 24: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,082 INFO L290 TraceCheckUtils]: 23: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:27:01,082 INFO L290 TraceCheckUtils]: 22: Hoare triple {5850#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:27:01,083 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5850#true} {5850#true} #85#return; {5850#true} is VALID [2022-04-08 06:27:01,083 INFO L290 TraceCheckUtils]: 20: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:27:01,083 INFO L290 TraceCheckUtils]: 19: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:27:01,083 INFO L290 TraceCheckUtils]: 18: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:27:01,083 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,083 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5850#true} {5850#true} #83#return; {5850#true} is VALID [2022-04-08 06:27:01,083 INFO L290 TraceCheckUtils]: 15: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:27:01,083 INFO L290 TraceCheckUtils]: 14: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:27:01,083 INFO L290 TraceCheckUtils]: 13: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:27:01,083 INFO L272 TraceCheckUtils]: 12: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,083 INFO L290 TraceCheckUtils]: 11: Hoare triple {5850#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5850#true} is VALID [2022-04-08 06:27:01,083 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5850#true} {5850#true} #81#return; {5850#true} is VALID [2022-04-08 06:27:01,083 INFO L290 TraceCheckUtils]: 9: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:27:01,084 INFO L290 TraceCheckUtils]: 8: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-08 06:27:01,084 INFO L290 TraceCheckUtils]: 7: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-08 06:27:01,084 INFO L272 TraceCheckUtils]: 6: Hoare triple {5850#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {5850#true} is VALID [2022-04-08 06:27:01,084 INFO L290 TraceCheckUtils]: 5: Hoare triple {5850#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5850#true} is VALID [2022-04-08 06:27:01,084 INFO L272 TraceCheckUtils]: 4: Hoare triple {5850#true} call #t~ret6 := main(); {5850#true} is VALID [2022-04-08 06:27:01,084 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5850#true} {5850#true} #101#return; {5850#true} is VALID [2022-04-08 06:27:01,084 INFO L290 TraceCheckUtils]: 2: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-08 06:27:01,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {5850#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {5850#true} is VALID [2022-04-08 06:27:01,084 INFO L272 TraceCheckUtils]: 0: Hoare triple {5850#true} call ULTIMATE.init(); {5850#true} is VALID [2022-04-08 06:27:01,085 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 45 proven. 32 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-08 06:27:01,085 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:27:01,085 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [705802162] [2022-04-08 06:27:01,085 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:27:01,085 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2096213921] [2022-04-08 06:27:01,085 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2096213921] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:27:01,085 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:27:01,085 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 23 [2022-04-08 06:27:01,086 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:27:01,086 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2126908868] [2022-04-08 06:27:01,086 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2126908868] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:27:01,086 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:27:01,086 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 06:27:01,086 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1965089373] [2022-04-08 06:27:01,086 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:27:01,087 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-08 06:27:01,087 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:27:01,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:27:01,159 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-08 06:27:01,159 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 06:27:01,160 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:27:01,160 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 06:27:01,160 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=410, Unknown=0, NotChecked=0, Total=506 [2022-04-08 06:27:01,160 INFO L87 Difference]: Start difference. First operand 110 states and 126 transitions. Second operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:27:05,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:27:05,074 INFO L93 Difference]: Finished difference Result 116 states and 131 transitions. [2022-04-08 06:27:05,074 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 06:27:05,074 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-08 06:27:05,074 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:27:05,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:27:05,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 79 transitions. [2022-04-08 06:27:05,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:27:05,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 79 transitions. [2022-04-08 06:27:05,078 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 79 transitions. [2022-04-08 06:27:05,189 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-08 06:27:05,191 INFO L225 Difference]: With dead ends: 116 [2022-04-08 06:27:05,191 INFO L226 Difference]: Without dead ends: 88 [2022-04-08 06:27:05,192 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 149 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 109 ImplicationChecksByTransitivity, 8.0s TimeCoverageRelationStatistics Valid=135, Invalid=567, Unknown=0, NotChecked=0, Total=702 [2022-04-08 06:27:05,192 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 17 mSDsluCounter, 162 mSDsCounter, 0 mSdLazyCounter, 337 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 352 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 337 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:27:05,192 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 198 Invalid, 352 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 337 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-08 06:27:05,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-08 06:27:05,244 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 88. [2022-04-08 06:27:05,245 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:27:05,245 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 06:27:05,245 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 06:27:05,245 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 06:27:05,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:27:05,249 INFO L93 Difference]: Finished difference Result 88 states and 102 transitions. [2022-04-08 06:27:05,249 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-08 06:27:05,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:27:05,250 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:27:05,250 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) Second operand 88 states. [2022-04-08 06:27:05,250 INFO L87 Difference]: Start difference. First operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) Second operand 88 states. [2022-04-08 06:27:05,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:27:05,252 INFO L93 Difference]: Finished difference Result 88 states and 102 transitions. [2022-04-08 06:27:05,252 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-08 06:27:05,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:27:05,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:27:05,253 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:27:05,253 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:27:05,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 06:27:05,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 102 transitions. [2022-04-08 06:27:05,256 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 102 transitions. Word has length 86 [2022-04-08 06:27:05,256 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:27:05,256 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 102 transitions. [2022-04-08 06:27:05,256 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:27:05,256 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 102 transitions. [2022-04-08 06:27:05,420 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:27:05,421 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-08 06:27:05,421 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-08 06:27:05,421 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:27:05,421 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:27:05,439 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 06:27:05,622 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:27:05,622 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:27:05,622 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:27:05,623 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 5 times [2022-04-08 06:27:05,623 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:27:05,623 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [658597628] [2022-04-08 06:27:05,623 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:27:05,623 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 6 times [2022-04-08 06:27:05,623 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:27:05,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1137947457] [2022-04-08 06:27:05,624 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:27:05,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:27:05,638 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:27:05,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [21648069] [2022-04-08 06:27:05,639 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 06:27:05,639 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:27:05,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:27:05,644 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:27:05,644 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 06:27:05,692 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 06:27:05,693 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:27:05,694 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 06:27:05,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:27:05,714 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:28:19,186 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 06:28:19,840 INFO L272 TraceCheckUtils]: 0: Hoare triple {6980#true} call ULTIMATE.init(); {6980#true} is VALID [2022-04-08 06:28:19,840 INFO L290 TraceCheckUtils]: 1: Hoare triple {6980#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6980#true} {6980#true} #101#return; {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L272 TraceCheckUtils]: 4: Hoare triple {6980#true} call #t~ret6 := main(); {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L290 TraceCheckUtils]: 5: Hoare triple {6980#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L272 TraceCheckUtils]: 6: Hoare triple {6980#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L290 TraceCheckUtils]: 7: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L290 TraceCheckUtils]: 8: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L290 TraceCheckUtils]: 9: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6980#true} {6980#true} #81#return; {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L290 TraceCheckUtils]: 11: Hoare triple {6980#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L272 TraceCheckUtils]: 12: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L290 TraceCheckUtils]: 13: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,841 INFO L290 TraceCheckUtils]: 14: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,842 INFO L290 TraceCheckUtils]: 15: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,842 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6980#true} {6980#true} #83#return; {6980#true} is VALID [2022-04-08 06:28:19,842 INFO L272 TraceCheckUtils]: 17: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,842 INFO L290 TraceCheckUtils]: 18: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,842 INFO L290 TraceCheckUtils]: 19: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,842 INFO L290 TraceCheckUtils]: 20: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,842 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6980#true} {6980#true} #85#return; {6980#true} is VALID [2022-04-08 06:28:19,843 INFO L290 TraceCheckUtils]: 22: Hoare triple {6980#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:28:19,843 INFO L290 TraceCheckUtils]: 23: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:28:19,843 INFO L272 TraceCheckUtils]: 24: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,843 INFO L290 TraceCheckUtils]: 25: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,843 INFO L290 TraceCheckUtils]: 26: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,843 INFO L290 TraceCheckUtils]: 27: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,844 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:28:19,844 INFO L272 TraceCheckUtils]: 29: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,844 INFO L290 TraceCheckUtils]: 30: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,844 INFO L290 TraceCheckUtils]: 31: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,844 INFO L290 TraceCheckUtils]: 32: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,845 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:28:19,845 INFO L272 TraceCheckUtils]: 34: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,845 INFO L290 TraceCheckUtils]: 35: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,845 INFO L290 TraceCheckUtils]: 36: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,846 INFO L290 TraceCheckUtils]: 37: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,846 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:28:19,847 INFO L290 TraceCheckUtils]: 39: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:28:19,847 INFO L290 TraceCheckUtils]: 40: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:28:19,847 INFO L272 TraceCheckUtils]: 41: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,847 INFO L290 TraceCheckUtils]: 42: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,847 INFO L290 TraceCheckUtils]: 43: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,847 INFO L290 TraceCheckUtils]: 44: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,848 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:28:19,848 INFO L272 TraceCheckUtils]: 46: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,848 INFO L290 TraceCheckUtils]: 47: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,848 INFO L290 TraceCheckUtils]: 48: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,848 INFO L290 TraceCheckUtils]: 49: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,848 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:28:19,849 INFO L272 TraceCheckUtils]: 51: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,849 INFO L290 TraceCheckUtils]: 52: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,849 INFO L290 TraceCheckUtils]: 53: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,849 INFO L290 TraceCheckUtils]: 54: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,849 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:28:19,850 INFO L290 TraceCheckUtils]: 56: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:28:19,851 INFO L290 TraceCheckUtils]: 57: Hoare triple {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:28:19,851 INFO L272 TraceCheckUtils]: 58: Hoare triple {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,851 INFO L290 TraceCheckUtils]: 59: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,851 INFO L290 TraceCheckUtils]: 60: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,851 INFO L290 TraceCheckUtils]: 61: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,852 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6980#true} {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:28:19,852 INFO L272 TraceCheckUtils]: 63: Hoare triple {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,852 INFO L290 TraceCheckUtils]: 64: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,852 INFO L290 TraceCheckUtils]: 65: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,852 INFO L290 TraceCheckUtils]: 66: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,856 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6980#true} {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:28:19,856 INFO L272 TraceCheckUtils]: 68: Hoare triple {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,856 INFO L290 TraceCheckUtils]: 69: Hoare triple {6980#true} ~cond := #in~cond; {7194#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:28:19,857 INFO L290 TraceCheckUtils]: 70: Hoare triple {7194#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:28:19,857 INFO L290 TraceCheckUtils]: 71: Hoare triple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:28:19,858 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:28:19,859 INFO L290 TraceCheckUtils]: 73: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:28:19,860 INFO L290 TraceCheckUtils]: 74: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:28:19,860 INFO L272 TraceCheckUtils]: 75: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,860 INFO L290 TraceCheckUtils]: 76: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,860 INFO L290 TraceCheckUtils]: 77: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,860 INFO L290 TraceCheckUtils]: 78: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,861 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6980#true} {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #93#return; {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:28:19,861 INFO L272 TraceCheckUtils]: 80: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:28:19,861 INFO L290 TraceCheckUtils]: 81: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:28:19,861 INFO L290 TraceCheckUtils]: 82: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:28:19,861 INFO L290 TraceCheckUtils]: 83: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:28:19,862 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6980#true} {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #95#return; {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:28:19,867 INFO L290 TraceCheckUtils]: 85: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7245#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-08 06:28:19,869 INFO L290 TraceCheckUtils]: 86: Hoare triple {7245#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:28:19,870 INFO L290 TraceCheckUtils]: 87: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:28:19,870 INFO L272 TraceCheckUtils]: 88: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:28:19,871 INFO L290 TraceCheckUtils]: 89: Hoare triple {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7260#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:28:19,871 INFO L290 TraceCheckUtils]: 90: Hoare triple {7260#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6981#false} is VALID [2022-04-08 06:28:19,871 INFO L290 TraceCheckUtils]: 91: Hoare triple {6981#false} assume !false; {6981#false} is VALID [2022-04-08 06:28:19,872 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 55 proven. 9 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-08 06:28:19,872 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:29:14,469 WARN L232 SmtUtils]: Spent 24.88s on a formula simplification that was a NOOP. DAG size: 51 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 06:30:19,183 INFO L290 TraceCheckUtils]: 91: Hoare triple {6981#false} assume !false; {6981#false} is VALID [2022-04-08 06:30:19,184 INFO L290 TraceCheckUtils]: 90: Hoare triple {7260#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6981#false} is VALID [2022-04-08 06:30:19,184 INFO L290 TraceCheckUtils]: 89: Hoare triple {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7260#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:30:19,185 INFO L272 TraceCheckUtils]: 88: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:30:19,185 INFO L290 TraceCheckUtils]: 87: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:19,188 INFO L290 TraceCheckUtils]: 86: Hoare triple {7282#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:19,199 INFO L290 TraceCheckUtils]: 85: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7282#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} is VALID [2022-04-08 06:30:19,200 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6980#true} {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} #95#return; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-08 06:30:19,200 INFO L290 TraceCheckUtils]: 83: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,200 INFO L290 TraceCheckUtils]: 82: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,201 INFO L290 TraceCheckUtils]: 81: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,201 INFO L272 TraceCheckUtils]: 80: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,202 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6980#true} {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} #93#return; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-08 06:30:19,202 INFO L290 TraceCheckUtils]: 78: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,202 INFO L290 TraceCheckUtils]: 77: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,202 INFO L290 TraceCheckUtils]: 76: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,202 INFO L272 TraceCheckUtils]: 75: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,203 INFO L290 TraceCheckUtils]: 74: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} assume !false; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-08 06:30:19,204 INFO L290 TraceCheckUtils]: 73: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} assume !(~r~0 >= ~d~0); {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-08 06:30:19,207 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} #91#return; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-08 06:30:19,207 INFO L290 TraceCheckUtils]: 71: Hoare triple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:30:19,208 INFO L290 TraceCheckUtils]: 70: Hoare triple {7336#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:30:19,208 INFO L290 TraceCheckUtils]: 69: Hoare triple {6980#true} ~cond := #in~cond; {7336#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:30:19,208 INFO L272 TraceCheckUtils]: 68: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,209 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6980#true} {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} #89#return; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-08 06:30:19,209 INFO L290 TraceCheckUtils]: 66: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,210 INFO L290 TraceCheckUtils]: 65: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,210 INFO L290 TraceCheckUtils]: 64: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,210 INFO L272 TraceCheckUtils]: 63: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,211 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6980#true} {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} #87#return; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-08 06:30:19,211 INFO L290 TraceCheckUtils]: 61: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,211 INFO L290 TraceCheckUtils]: 60: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,211 INFO L290 TraceCheckUtils]: 59: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,211 INFO L272 TraceCheckUtils]: 58: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,213 INFO L290 TraceCheckUtils]: 57: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} assume !false; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-08 06:30:19,220 INFO L290 TraceCheckUtils]: 56: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-08 06:30:19,221 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:19,221 INFO L290 TraceCheckUtils]: 54: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,221 INFO L290 TraceCheckUtils]: 53: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,221 INFO L290 TraceCheckUtils]: 52: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,221 INFO L272 TraceCheckUtils]: 51: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,222 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:19,222 INFO L290 TraceCheckUtils]: 49: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,222 INFO L290 TraceCheckUtils]: 48: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,222 INFO L290 TraceCheckUtils]: 47: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,222 INFO L272 TraceCheckUtils]: 46: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,223 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:19,223 INFO L290 TraceCheckUtils]: 44: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,223 INFO L290 TraceCheckUtils]: 43: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,224 INFO L290 TraceCheckUtils]: 42: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,224 INFO L272 TraceCheckUtils]: 41: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,224 INFO L290 TraceCheckUtils]: 40: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:19,224 INFO L290 TraceCheckUtils]: 39: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:19,225 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:19,225 INFO L290 TraceCheckUtils]: 37: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,225 INFO L290 TraceCheckUtils]: 36: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,225 INFO L290 TraceCheckUtils]: 35: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,226 INFO L272 TraceCheckUtils]: 34: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,226 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:19,226 INFO L290 TraceCheckUtils]: 32: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,226 INFO L290 TraceCheckUtils]: 31: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,226 INFO L290 TraceCheckUtils]: 30: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,227 INFO L272 TraceCheckUtils]: 29: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,227 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:19,227 INFO L290 TraceCheckUtils]: 27: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,228 INFO L290 TraceCheckUtils]: 26: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,228 INFO L290 TraceCheckUtils]: 25: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,228 INFO L272 TraceCheckUtils]: 24: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,228 INFO L290 TraceCheckUtils]: 23: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:19,229 INFO L290 TraceCheckUtils]: 22: Hoare triple {6980#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:19,229 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6980#true} {6980#true} #85#return; {6980#true} is VALID [2022-04-08 06:30:19,229 INFO L290 TraceCheckUtils]: 20: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,229 INFO L290 TraceCheckUtils]: 19: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,229 INFO L290 TraceCheckUtils]: 18: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,229 INFO L272 TraceCheckUtils]: 17: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,229 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6980#true} {6980#true} #83#return; {6980#true} is VALID [2022-04-08 06:30:19,230 INFO L290 TraceCheckUtils]: 15: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,230 INFO L290 TraceCheckUtils]: 14: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,230 INFO L290 TraceCheckUtils]: 13: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,230 INFO L272 TraceCheckUtils]: 12: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {6980#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6980#true} is VALID [2022-04-08 06:30:19,230 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6980#true} {6980#true} #81#return; {6980#true} is VALID [2022-04-08 06:30:19,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-08 06:30:19,230 INFO L290 TraceCheckUtils]: 7: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-08 06:30:19,230 INFO L272 TraceCheckUtils]: 6: Hoare triple {6980#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {6980#true} is VALID [2022-04-08 06:30:19,231 INFO L290 TraceCheckUtils]: 5: Hoare triple {6980#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {6980#true} is VALID [2022-04-08 06:30:19,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {6980#true} call #t~ret6 := main(); {6980#true} is VALID [2022-04-08 06:30:19,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6980#true} {6980#true} #101#return; {6980#true} is VALID [2022-04-08 06:30:19,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-08 06:30:19,231 INFO L290 TraceCheckUtils]: 1: Hoare triple {6980#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6980#true} is VALID [2022-04-08 06:30:19,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {6980#true} call ULTIMATE.init(); {6980#true} is VALID [2022-04-08 06:30:19,232 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 45 proven. 19 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-08 06:30:19,232 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:30:19,232 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1137947457] [2022-04-08 06:30:19,232 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:30:19,232 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [21648069] [2022-04-08 06:30:19,232 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [21648069] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:30:19,232 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:30:19,232 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-08 06:30:19,233 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:30:19,233 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [658597628] [2022-04-08 06:30:19,233 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [658597628] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:30:19,233 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:30:19,233 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 06:30:19,233 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2025800768] [2022-04-08 06:30:19,233 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:30:19,234 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 92 [2022-04-08 06:30:19,234 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:30:19,234 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:30:19,294 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-08 06:30:19,295 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 06:30:19,295 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:30:19,295 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 06:30:19,295 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-04-08 06:30:19,296 INFO L87 Difference]: Start difference. First operand 88 states and 102 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:30:23,027 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.17s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 06:30:27,326 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.47s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 06:30:29,937 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-08 06:30:31,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:30:31,502 INFO L93 Difference]: Finished difference Result 112 states and 130 transitions. [2022-04-08 06:30:31,502 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 06:30:31,502 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 92 [2022-04-08 06:30:31,502 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:30:31,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:30:31,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-08 06:30:31,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:30:31,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-08 06:30:31,507 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 92 transitions. [2022-04-08 06:30:31,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:30:31,641 INFO L225 Difference]: With dead ends: 112 [2022-04-08 06:30:31,641 INFO L226 Difference]: Without dead ends: 100 [2022-04-08 06:30:31,641 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 167 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 30.3s TimeCoverageRelationStatistics Valid=59, Invalid=212, Unknown=1, NotChecked=0, Total=272 [2022-04-08 06:30:31,642 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 28 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 261 mSolverCounterSat, 34 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 296 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 261 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.5s IncrementalHoareTripleChecker+Time [2022-04-08 06:30:31,642 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 162 Invalid, 296 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 261 Invalid, 1 Unknown, 0 Unchecked, 6.5s Time] [2022-04-08 06:30:31,643 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-08 06:30:31,692 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 99. [2022-04-08 06:30:31,692 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:30:31,693 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 06:30:31,693 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 06:30:31,693 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 06:30:31,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:30:31,696 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-08 06:30:31,696 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-08 06:30:31,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:30:31,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:30:31,697 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) Second operand 100 states. [2022-04-08 06:30:31,697 INFO L87 Difference]: Start difference. First operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) Second operand 100 states. [2022-04-08 06:30:31,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:30:31,699 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-08 06:30:31,699 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-08 06:30:31,700 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:30:31,700 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:30:31,700 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:30:31,700 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:30:31,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 06:30:31,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 116 transitions. [2022-04-08 06:30:31,703 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 116 transitions. Word has length 92 [2022-04-08 06:30:31,703 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:30:31,703 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 116 transitions. [2022-04-08 06:30:31,703 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:30:31,704 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 116 transitions. [2022-04-08 06:30:31,897 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:30:31,897 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 116 transitions. [2022-04-08 06:30:31,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-08 06:30:31,898 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:30:31,898 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:30:31,917 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 06:30:32,103 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 06:30:32,104 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:30:32,104 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:30:32,104 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 7 times [2022-04-08 06:30:32,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:30:32,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1467654541] [2022-04-08 06:30:32,104 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:30:32,105 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 8 times [2022-04-08 06:30:32,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:30:32,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1015619164] [2022-04-08 06:30:32,105 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:30:32,105 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:30:32,119 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:30:32,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1446469728] [2022-04-08 06:30:32,120 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:30:32,120 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:30:32,120 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:30:32,121 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:30:32,122 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 06:30:32,208 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:30:32,209 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:30:32,210 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 06:30:32,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:30:32,228 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:30:34,476 INFO L272 TraceCheckUtils]: 0: Hoare triple {8172#true} call ULTIMATE.init(); {8172#true} is VALID [2022-04-08 06:30:34,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {8172#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8172#true} is VALID [2022-04-08 06:30:34,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,476 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8172#true} {8172#true} #101#return; {8172#true} is VALID [2022-04-08 06:30:34,477 INFO L272 TraceCheckUtils]: 4: Hoare triple {8172#true} call #t~ret6 := main(); {8172#true} is VALID [2022-04-08 06:30:34,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {8172#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {8172#true} is VALID [2022-04-08 06:30:34,477 INFO L272 TraceCheckUtils]: 6: Hoare triple {8172#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,477 INFO L290 TraceCheckUtils]: 8: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,477 INFO L290 TraceCheckUtils]: 9: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,477 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8172#true} {8172#true} #81#return; {8172#true} is VALID [2022-04-08 06:30:34,477 INFO L290 TraceCheckUtils]: 11: Hoare triple {8172#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8172#true} is VALID [2022-04-08 06:30:34,477 INFO L272 TraceCheckUtils]: 12: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,478 INFO L290 TraceCheckUtils]: 13: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,478 INFO L290 TraceCheckUtils]: 14: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,478 INFO L290 TraceCheckUtils]: 15: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,478 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8172#true} {8172#true} #83#return; {8172#true} is VALID [2022-04-08 06:30:34,478 INFO L272 TraceCheckUtils]: 17: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,478 INFO L290 TraceCheckUtils]: 18: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,478 INFO L290 TraceCheckUtils]: 19: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,478 INFO L290 TraceCheckUtils]: 20: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,478 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8172#true} {8172#true} #85#return; {8172#true} is VALID [2022-04-08 06:30:34,480 INFO L290 TraceCheckUtils]: 22: Hoare triple {8172#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-08 06:30:34,481 INFO L290 TraceCheckUtils]: 23: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} assume !false; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-08 06:30:34,481 INFO L272 TraceCheckUtils]: 24: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,481 INFO L290 TraceCheckUtils]: 25: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,481 INFO L290 TraceCheckUtils]: 26: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,481 INFO L290 TraceCheckUtils]: 27: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,481 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8172#true} {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} #87#return; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-08 06:30:34,482 INFO L272 TraceCheckUtils]: 29: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,482 INFO L290 TraceCheckUtils]: 30: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,482 INFO L290 TraceCheckUtils]: 31: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,482 INFO L290 TraceCheckUtils]: 32: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,482 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8172#true} {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} #89#return; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-08 06:30:34,482 INFO L272 TraceCheckUtils]: 34: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,483 INFO L290 TraceCheckUtils]: 35: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,483 INFO L290 TraceCheckUtils]: 36: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,483 INFO L290 TraceCheckUtils]: 37: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,483 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8172#true} {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} #91#return; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-08 06:30:34,485 INFO L290 TraceCheckUtils]: 39: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:30:34,485 INFO L290 TraceCheckUtils]: 40: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} assume !false; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:30:34,485 INFO L272 TraceCheckUtils]: 41: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,485 INFO L290 TraceCheckUtils]: 42: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,485 INFO L290 TraceCheckUtils]: 43: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,485 INFO L290 TraceCheckUtils]: 44: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,486 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8172#true} {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} #87#return; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:30:34,486 INFO L272 TraceCheckUtils]: 46: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,486 INFO L290 TraceCheckUtils]: 47: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,486 INFO L290 TraceCheckUtils]: 48: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,486 INFO L290 TraceCheckUtils]: 49: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,487 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8172#true} {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} #89#return; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:30:34,487 INFO L272 TraceCheckUtils]: 51: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,487 INFO L290 TraceCheckUtils]: 52: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,487 INFO L290 TraceCheckUtils]: 53: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,487 INFO L290 TraceCheckUtils]: 54: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,488 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8172#true} {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} #91#return; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:30:34,489 INFO L290 TraceCheckUtils]: 56: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-08 06:30:34,490 INFO L290 TraceCheckUtils]: 57: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} assume !false; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-08 06:30:34,490 INFO L272 TraceCheckUtils]: 58: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,490 INFO L290 TraceCheckUtils]: 59: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,490 INFO L290 TraceCheckUtils]: 60: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,490 INFO L290 TraceCheckUtils]: 61: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,491 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8172#true} {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} #87#return; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-08 06:30:34,491 INFO L272 TraceCheckUtils]: 63: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,491 INFO L290 TraceCheckUtils]: 64: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,491 INFO L290 TraceCheckUtils]: 65: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,491 INFO L290 TraceCheckUtils]: 66: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,492 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8172#true} {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} #89#return; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-08 06:30:34,492 INFO L272 TraceCheckUtils]: 68: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,492 INFO L290 TraceCheckUtils]: 69: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,492 INFO L290 TraceCheckUtils]: 70: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,492 INFO L290 TraceCheckUtils]: 71: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,492 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8172#true} {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} #91#return; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-08 06:30:34,493 INFO L290 TraceCheckUtils]: 73: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-08 06:30:34,494 INFO L290 TraceCheckUtils]: 74: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume !false; {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-08 06:30:34,494 INFO L272 TraceCheckUtils]: 75: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,494 INFO L290 TraceCheckUtils]: 76: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,494 INFO L290 TraceCheckUtils]: 77: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,494 INFO L290 TraceCheckUtils]: 78: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,495 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8172#true} {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} #93#return; {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-08 06:30:34,496 INFO L272 TraceCheckUtils]: 80: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,496 INFO L290 TraceCheckUtils]: 81: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,496 INFO L290 TraceCheckUtils]: 82: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,496 INFO L290 TraceCheckUtils]: 83: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,496 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8172#true} {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} #95#return; {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-08 06:30:34,498 INFO L290 TraceCheckUtils]: 85: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-08 06:30:34,499 INFO L290 TraceCheckUtils]: 86: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-08 06:30:34,500 INFO L290 TraceCheckUtils]: 87: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume !false; {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-08 06:30:34,500 INFO L272 TraceCheckUtils]: 88: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:34,500 INFO L290 TraceCheckUtils]: 89: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:34,500 INFO L290 TraceCheckUtils]: 90: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:34,500 INFO L290 TraceCheckUtils]: 91: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:34,501 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8172#true} {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} #93#return; {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-08 06:30:34,501 INFO L272 TraceCheckUtils]: 93: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:30:34,502 INFO L290 TraceCheckUtils]: 94: Hoare triple {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:30:34,502 INFO L290 TraceCheckUtils]: 95: Hoare triple {8465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8173#false} is VALID [2022-04-08 06:30:34,502 INFO L290 TraceCheckUtils]: 96: Hoare triple {8173#false} assume !false; {8173#false} is VALID [2022-04-08 06:30:34,502 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-08 06:30:34,502 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:30:38,518 INFO L290 TraceCheckUtils]: 96: Hoare triple {8173#false} assume !false; {8173#false} is VALID [2022-04-08 06:30:38,519 INFO L290 TraceCheckUtils]: 95: Hoare triple {8465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8173#false} is VALID [2022-04-08 06:30:38,519 INFO L290 TraceCheckUtils]: 94: Hoare triple {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:30:38,520 INFO L272 TraceCheckUtils]: 93: Hoare triple {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:30:38,520 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8172#true} {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:38,520 INFO L290 TraceCheckUtils]: 91: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,520 INFO L290 TraceCheckUtils]: 90: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,521 INFO L290 TraceCheckUtils]: 89: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,521 INFO L272 TraceCheckUtils]: 88: Hoare triple {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,521 INFO L290 TraceCheckUtils]: 87: Hoare triple {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:38,521 INFO L290 TraceCheckUtils]: 86: Hoare triple {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:38,540 INFO L290 TraceCheckUtils]: 85: Hoare triple {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:30:38,541 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8172#true} {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #95#return; {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:30:38,541 INFO L290 TraceCheckUtils]: 83: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,542 INFO L290 TraceCheckUtils]: 82: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,542 INFO L290 TraceCheckUtils]: 81: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,542 INFO L272 TraceCheckUtils]: 80: Hoare triple {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,542 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8172#true} {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #93#return; {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:30:38,543 INFO L290 TraceCheckUtils]: 78: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,543 INFO L290 TraceCheckUtils]: 77: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,543 INFO L290 TraceCheckUtils]: 76: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,543 INFO L272 TraceCheckUtils]: 75: Hoare triple {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,544 INFO L290 TraceCheckUtils]: 74: Hoare triple {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !false; {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:30:38,545 INFO L290 TraceCheckUtils]: 73: Hoare triple {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !(~r~0 >= ~d~0); {8506#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:30:38,546 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8172#true} {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #91#return; {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 06:30:38,546 INFO L290 TraceCheckUtils]: 71: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,546 INFO L290 TraceCheckUtils]: 70: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,546 INFO L290 TraceCheckUtils]: 69: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,547 INFO L272 TraceCheckUtils]: 68: Hoare triple {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,547 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8172#true} {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #89#return; {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 06:30:38,547 INFO L290 TraceCheckUtils]: 66: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,548 INFO L290 TraceCheckUtils]: 65: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,548 INFO L290 TraceCheckUtils]: 64: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,548 INFO L272 TraceCheckUtils]: 63: Hoare triple {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,548 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8172#true} {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #87#return; {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 06:30:38,548 INFO L290 TraceCheckUtils]: 61: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,549 INFO L290 TraceCheckUtils]: 60: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,549 INFO L290 TraceCheckUtils]: 59: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,549 INFO L272 TraceCheckUtils]: 58: Hoare triple {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,550 INFO L290 TraceCheckUtils]: 57: Hoare triple {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !false; {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 06:30:38,556 INFO L290 TraceCheckUtils]: 56: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8543#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 06:30:38,557 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8172#true} {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:30:38,557 INFO L290 TraceCheckUtils]: 54: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,557 INFO L290 TraceCheckUtils]: 53: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,557 INFO L290 TraceCheckUtils]: 52: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,557 INFO L272 TraceCheckUtils]: 51: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,558 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8172#true} {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:30:38,558 INFO L290 TraceCheckUtils]: 49: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,558 INFO L290 TraceCheckUtils]: 48: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,558 INFO L290 TraceCheckUtils]: 47: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,559 INFO L272 TraceCheckUtils]: 46: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,559 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8172#true} {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:30:38,559 INFO L290 TraceCheckUtils]: 44: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,559 INFO L290 TraceCheckUtils]: 43: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,560 INFO L290 TraceCheckUtils]: 42: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,560 INFO L272 TraceCheckUtils]: 41: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,560 INFO L290 TraceCheckUtils]: 40: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:30:38,563 INFO L290 TraceCheckUtils]: 39: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:30:38,563 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8172#true} {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} #91#return; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 06:30:38,564 INFO L290 TraceCheckUtils]: 37: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,564 INFO L290 TraceCheckUtils]: 36: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,564 INFO L290 TraceCheckUtils]: 35: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,564 INFO L272 TraceCheckUtils]: 34: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,564 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8172#true} {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} #89#return; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 06:30:38,565 INFO L290 TraceCheckUtils]: 32: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,565 INFO L290 TraceCheckUtils]: 31: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,565 INFO L290 TraceCheckUtils]: 30: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,565 INFO L272 TraceCheckUtils]: 29: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,566 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8172#true} {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} #87#return; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 06:30:38,566 INFO L290 TraceCheckUtils]: 27: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,566 INFO L290 TraceCheckUtils]: 26: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,566 INFO L290 TraceCheckUtils]: 25: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,566 INFO L272 TraceCheckUtils]: 24: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,567 INFO L290 TraceCheckUtils]: 23: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} assume !false; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 06:30:38,567 INFO L290 TraceCheckUtils]: 22: Hoare triple {8172#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 06:30:38,567 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8172#true} {8172#true} #85#return; {8172#true} is VALID [2022-04-08 06:30:38,567 INFO L290 TraceCheckUtils]: 20: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,568 INFO L290 TraceCheckUtils]: 19: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,568 INFO L290 TraceCheckUtils]: 18: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,568 INFO L272 TraceCheckUtils]: 17: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,568 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8172#true} {8172#true} #83#return; {8172#true} is VALID [2022-04-08 06:30:38,568 INFO L290 TraceCheckUtils]: 15: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,568 INFO L290 TraceCheckUtils]: 13: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,568 INFO L272 TraceCheckUtils]: 12: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {8172#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8172#true} is VALID [2022-04-08 06:30:38,568 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8172#true} {8172#true} #81#return; {8172#true} is VALID [2022-04-08 06:30:38,569 INFO L290 TraceCheckUtils]: 9: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,569 INFO L290 TraceCheckUtils]: 8: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-08 06:30:38,569 INFO L290 TraceCheckUtils]: 7: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-08 06:30:38,569 INFO L272 TraceCheckUtils]: 6: Hoare triple {8172#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {8172#true} is VALID [2022-04-08 06:30:38,569 INFO L290 TraceCheckUtils]: 5: Hoare triple {8172#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {8172#true} is VALID [2022-04-08 06:30:38,569 INFO L272 TraceCheckUtils]: 4: Hoare triple {8172#true} call #t~ret6 := main(); {8172#true} is VALID [2022-04-08 06:30:38,569 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8172#true} {8172#true} #101#return; {8172#true} is VALID [2022-04-08 06:30:38,569 INFO L290 TraceCheckUtils]: 2: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-08 06:30:38,569 INFO L290 TraceCheckUtils]: 1: Hoare triple {8172#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8172#true} is VALID [2022-04-08 06:30:38,569 INFO L272 TraceCheckUtils]: 0: Hoare triple {8172#true} call ULTIMATE.init(); {8172#true} is VALID [2022-04-08 06:30:38,570 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-08 06:30:38,570 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:30:38,570 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1015619164] [2022-04-08 06:30:38,570 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:30:38,570 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1446469728] [2022-04-08 06:30:38,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1446469728] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:30:38,571 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:30:38,571 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-08 06:30:38,571 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:30:38,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1467654541] [2022-04-08 06:30:38,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1467654541] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:30:38,571 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:30:38,571 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 06:30:38,571 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [353850514] [2022-04-08 06:30:38,572 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:30:38,572 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 97 [2022-04-08 06:30:38,572 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:30:38,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 06:30:38,652 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:30:38,652 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 06:30:38,652 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:30:38,652 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 06:30:38,652 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=131, Unknown=0, NotChecked=0, Total=182 [2022-04-08 06:30:38,653 INFO L87 Difference]: Start difference. First operand 99 states and 116 transitions. Second operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 06:30:40,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:30:40,414 INFO L93 Difference]: Finished difference Result 177 states and 223 transitions. [2022-04-08 06:30:40,414 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 06:30:40,414 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 97 [2022-04-08 06:30:40,415 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:30:40,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 06:30:40,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 116 transitions. [2022-04-08 06:30:40,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 06:30:40,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 116 transitions. [2022-04-08 06:30:40,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 116 transitions. [2022-04-08 06:30:40,568 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:30:40,570 INFO L225 Difference]: With dead ends: 177 [2022-04-08 06:30:40,571 INFO L226 Difference]: Without dead ends: 138 [2022-04-08 06:30:40,571 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 196 GetRequests, 180 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=73, Invalid=199, Unknown=0, NotChecked=0, Total=272 [2022-04-08 06:30:40,572 INFO L913 BasicCegarLoop]: 62 mSDtfsCounter, 13 mSDsluCounter, 244 mSDsCounter, 0 mSdLazyCounter, 292 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 306 SdHoareTripleChecker+Invalid, 309 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 292 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 06:30:40,572 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 306 Invalid, 309 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 292 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 06:30:40,573 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-04-08 06:30:40,679 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 138. [2022-04-08 06:30:40,679 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:30:40,679 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 06:30:40,679 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 06:30:40,680 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 06:30:40,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:30:40,683 INFO L93 Difference]: Finished difference Result 138 states and 167 transitions. [2022-04-08 06:30:40,683 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-08 06:30:40,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:30:40,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:30:40,684 INFO L74 IsIncluded]: Start isIncluded. First operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 138 states. [2022-04-08 06:30:40,685 INFO L87 Difference]: Start difference. First operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 138 states. [2022-04-08 06:30:40,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:30:40,688 INFO L93 Difference]: Finished difference Result 138 states and 167 transitions. [2022-04-08 06:30:40,689 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-08 06:30:40,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:30:40,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:30:40,689 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:30:40,689 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:30:40,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 06:30:40,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 167 transitions. [2022-04-08 06:30:40,694 INFO L78 Accepts]: Start accepts. Automaton has 138 states and 167 transitions. Word has length 97 [2022-04-08 06:30:40,694 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:30:40,694 INFO L478 AbstractCegarLoop]: Abstraction has 138 states and 167 transitions. [2022-04-08 06:30:40,694 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 06:30:40,694 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 138 states and 167 transitions. [2022-04-08 06:30:40,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:30:40,992 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-08 06:30:40,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-08 06:30:40,993 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:30:40,993 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:30:41,019 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-08 06:30:41,207 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:30:41,208 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:30:41,208 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:30:41,208 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 9 times [2022-04-08 06:30:41,208 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:30:41,208 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1792886333] [2022-04-08 06:30:41,208 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:30:41,208 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 10 times [2022-04-08 06:30:41,209 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:30:41,209 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1641260583] [2022-04-08 06:30:41,209 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:30:41,209 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:30:41,229 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:30:41,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1321662696] [2022-04-08 06:30:41,229 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:30:41,229 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:30:41,229 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:30:41,230 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:30:41,254 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 06:30:41,293 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:30:41,293 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:30:41,295 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-08 06:30:41,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:30:41,316 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:30:52,011 INFO L272 TraceCheckUtils]: 0: Hoare triple {9679#true} call ULTIMATE.init(); {9679#true} is VALID [2022-04-08 06:30:52,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {9679#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {9679#true} is VALID [2022-04-08 06:30:52,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9679#true} {9679#true} #101#return; {9679#true} is VALID [2022-04-08 06:30:52,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {9679#true} call #t~ret6 := main(); {9679#true} is VALID [2022-04-08 06:30:52,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {9679#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {9679#true} is VALID [2022-04-08 06:30:52,012 INFO L272 TraceCheckUtils]: 6: Hoare triple {9679#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,013 INFO L290 TraceCheckUtils]: 7: Hoare triple {9679#true} ~cond := #in~cond; {9705#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:30:52,013 INFO L290 TraceCheckUtils]: 8: Hoare triple {9705#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9709#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:30:52,013 INFO L290 TraceCheckUtils]: 9: Hoare triple {9709#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9709#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:30:52,014 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9709#(not (= |assume_abort_if_not_#in~cond| 0))} {9679#true} #81#return; {9716#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:30:52,014 INFO L290 TraceCheckUtils]: 11: Hoare triple {9716#(<= (mod main_~A~0 4294967296) 5)} ~B~0 := #t~nondet5;havoc #t~nondet5; {9716#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:30:52,014 INFO L272 TraceCheckUtils]: 12: Hoare triple {9716#(<= (mod main_~A~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,014 INFO L290 TraceCheckUtils]: 13: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,014 INFO L290 TraceCheckUtils]: 14: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,014 INFO L290 TraceCheckUtils]: 15: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,015 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9679#true} {9716#(<= (mod main_~A~0 4294967296) 5)} #83#return; {9716#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:30:52,015 INFO L272 TraceCheckUtils]: 17: Hoare triple {9716#(<= (mod main_~A~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,015 INFO L290 TraceCheckUtils]: 18: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,015 INFO L290 TraceCheckUtils]: 19: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,015 INFO L290 TraceCheckUtils]: 20: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,020 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9679#true} {9716#(<= (mod main_~A~0 4294967296) 5)} #85#return; {9716#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:30:52,020 INFO L290 TraceCheckUtils]: 22: Hoare triple {9716#(<= (mod main_~A~0 4294967296) 5)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:30:52,021 INFO L290 TraceCheckUtils]: 23: Hoare triple {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:30:52,021 INFO L272 TraceCheckUtils]: 24: Hoare triple {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,021 INFO L290 TraceCheckUtils]: 25: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,021 INFO L290 TraceCheckUtils]: 26: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,021 INFO L290 TraceCheckUtils]: 27: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,022 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9679#true} {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:30:52,022 INFO L272 TraceCheckUtils]: 29: Hoare triple {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,023 INFO L290 TraceCheckUtils]: 30: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,023 INFO L290 TraceCheckUtils]: 31: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,023 INFO L290 TraceCheckUtils]: 32: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,024 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9679#true} {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:30:52,024 INFO L272 TraceCheckUtils]: 34: Hoare triple {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,024 INFO L290 TraceCheckUtils]: 35: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,024 INFO L290 TraceCheckUtils]: 36: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,024 INFO L290 TraceCheckUtils]: 37: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,025 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9679#true} {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:30:52,028 INFO L290 TraceCheckUtils]: 39: Hoare triple {9753#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-08 06:30:52,029 INFO L290 TraceCheckUtils]: 40: Hoare triple {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} assume !false; {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-08 06:30:52,029 INFO L272 TraceCheckUtils]: 41: Hoare triple {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,029 INFO L290 TraceCheckUtils]: 42: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,029 INFO L290 TraceCheckUtils]: 43: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,029 INFO L290 TraceCheckUtils]: 44: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,030 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9679#true} {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} #87#return; {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-08 06:30:52,030 INFO L272 TraceCheckUtils]: 46: Hoare triple {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,030 INFO L290 TraceCheckUtils]: 47: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,030 INFO L290 TraceCheckUtils]: 48: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,030 INFO L290 TraceCheckUtils]: 49: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,031 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9679#true} {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} #89#return; {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-08 06:30:52,031 INFO L272 TraceCheckUtils]: 51: Hoare triple {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,032 INFO L290 TraceCheckUtils]: 52: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,032 INFO L290 TraceCheckUtils]: 53: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,032 INFO L290 TraceCheckUtils]: 54: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,033 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9679#true} {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} #91#return; {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-08 06:30:52,035 INFO L290 TraceCheckUtils]: 56: Hoare triple {9805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 06:30:52,035 INFO L290 TraceCheckUtils]: 57: Hoare triple {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 06:30:52,036 INFO L272 TraceCheckUtils]: 58: Hoare triple {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,036 INFO L290 TraceCheckUtils]: 59: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,036 INFO L290 TraceCheckUtils]: 60: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,036 INFO L290 TraceCheckUtils]: 61: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,037 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9679#true} {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} #87#return; {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 06:30:52,037 INFO L272 TraceCheckUtils]: 63: Hoare triple {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,037 INFO L290 TraceCheckUtils]: 64: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,037 INFO L290 TraceCheckUtils]: 65: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,037 INFO L290 TraceCheckUtils]: 66: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,038 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9679#true} {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} #89#return; {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 06:30:52,038 INFO L272 TraceCheckUtils]: 68: Hoare triple {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,038 INFO L290 TraceCheckUtils]: 69: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,038 INFO L290 TraceCheckUtils]: 70: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,039 INFO L290 TraceCheckUtils]: 71: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,039 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9679#true} {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} #91#return; {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 06:30:52,040 INFO L290 TraceCheckUtils]: 73: Hoare triple {9857#(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) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {9909#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 06:30:52,041 INFO L290 TraceCheckUtils]: 74: Hoare triple {9909#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {9909#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 06:30:52,041 INFO L272 TraceCheckUtils]: 75: Hoare triple {9909#(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)) (<= (mod main_~A~0 4294967296) 5) (= 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)); {9679#true} is VALID [2022-04-08 06:30:52,041 INFO L290 TraceCheckUtils]: 76: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,041 INFO L290 TraceCheckUtils]: 77: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,041 INFO L290 TraceCheckUtils]: 78: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,042 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9679#true} {9909#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} #93#return; {9909#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 06:30:52,042 INFO L272 TraceCheckUtils]: 80: Hoare triple {9909#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,042 INFO L290 TraceCheckUtils]: 81: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,042 INFO L290 TraceCheckUtils]: 82: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,042 INFO L290 TraceCheckUtils]: 83: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,043 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9679#true} {9909#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} #95#return; {9909#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 06:30:52,044 INFO L290 TraceCheckUtils]: 85: Hoare triple {9909#(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)) (<= (mod main_~A~0 4294967296) 5) (= 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); {9946#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-08 06:30:52,047 INFO L290 TraceCheckUtils]: 86: Hoare triple {9946#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-08 06:30:52,048 INFO L290 TraceCheckUtils]: 87: Hoare triple {9950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} assume !false; {9950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-08 06:30:52,049 INFO L272 TraceCheckUtils]: 88: Hoare triple {9950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (<= (* 2 (mod main_~B~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)); {9679#true} is VALID [2022-04-08 06:30:52,049 INFO L290 TraceCheckUtils]: 89: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,049 INFO L290 TraceCheckUtils]: 90: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,049 INFO L290 TraceCheckUtils]: 91: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,050 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9679#true} {9950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} #93#return; {9950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-08 06:30:52,050 INFO L272 TraceCheckUtils]: 93: Hoare triple {9950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:30:52,050 INFO L290 TraceCheckUtils]: 94: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:30:52,050 INFO L290 TraceCheckUtils]: 95: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:30:52,050 INFO L290 TraceCheckUtils]: 96: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:30:52,051 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9679#true} {9950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} #95#return; {9950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-08 06:30:52,053 INFO L290 TraceCheckUtils]: 98: Hoare triple {9950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (not (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (<= (* 2 (mod main_~B~0 4294967296)) (+ main_~d~0 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); {9987#(and (= (mod main_~A~0 4294967296) (+ main_~r~0 (div (* (mod main_~B~0 4294967296) 4) 2))) (= (+ (- 2) main_~q~0) 0) (<= 0 main_~r~0) (<= (mod main_~A~0 4294967296) 5) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (= main_~d~0 (div (div (* (mod main_~B~0 4294967296) 4) 2) 2)) (= main_~p~0 1))} is VALID [2022-04-08 06:30:52,056 INFO L290 TraceCheckUtils]: 99: Hoare triple {9987#(and (= (mod main_~A~0 4294967296) (+ main_~r~0 (div (* (mod main_~B~0 4294967296) 4) 2))) (= (+ (- 2) main_~q~0) 0) (<= 0 main_~r~0) (<= (mod main_~A~0 4294967296) 5) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (= main_~d~0 (div (div (* (mod main_~B~0 4294967296) 4) 2) 2)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9991#(and (< (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) 4)) (= main_~q~0 3) (<= 0 main_~r~0) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-08 06:30:52,057 INFO L290 TraceCheckUtils]: 100: Hoare triple {9991#(and (< (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) 4)) (= main_~q~0 3) (<= 0 main_~r~0) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} assume !false; {9991#(and (< (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) 4)) (= main_~q~0 3) (<= 0 main_~r~0) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-08 06:30:52,058 INFO L272 TraceCheckUtils]: 101: Hoare triple {9991#(and (< (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) 4)) (= main_~q~0 3) (<= 0 main_~r~0) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:30:52,059 INFO L290 TraceCheckUtils]: 102: Hoare triple {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:30:52,059 INFO L290 TraceCheckUtils]: 103: Hoare triple {10002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9680#false} is VALID [2022-04-08 06:30:52,059 INFO L290 TraceCheckUtils]: 104: Hoare triple {9680#false} assume !false; {9680#false} is VALID [2022-04-08 06:30:52,060 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 318 trivial. 0 not checked. [2022-04-08 06:30:52,060 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:31:12,818 WARN L232 SmtUtils]: Spent 6.48s on a formula simplification that was a NOOP. DAG size: 152 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 06:31:49,884 INFO L290 TraceCheckUtils]: 104: Hoare triple {9680#false} assume !false; {9680#false} is VALID [2022-04-08 06:31:49,885 INFO L290 TraceCheckUtils]: 103: Hoare triple {10002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9680#false} is VALID [2022-04-08 06:31:49,885 INFO L290 TraceCheckUtils]: 102: Hoare triple {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:31:49,886 INFO L272 TraceCheckUtils]: 101: Hoare triple {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:31:49,886 INFO L290 TraceCheckUtils]: 100: Hoare triple {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 06:31:49,889 INFO L290 TraceCheckUtils]: 99: Hoare triple {10025#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 06:31:49,904 INFO L290 TraceCheckUtils]: 98: Hoare triple {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10025#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0)))} is VALID [2022-04-08 06:31:49,905 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9679#true} {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} #95#return; {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:31:49,905 INFO L290 TraceCheckUtils]: 96: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:49,905 INFO L290 TraceCheckUtils]: 95: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:49,905 INFO L290 TraceCheckUtils]: 94: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:49,905 INFO L272 TraceCheckUtils]: 93: Hoare triple {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:49,906 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9679#true} {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} #93#return; {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:31:49,906 INFO L290 TraceCheckUtils]: 91: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:49,906 INFO L290 TraceCheckUtils]: 90: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:49,906 INFO L290 TraceCheckUtils]: 89: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:49,906 INFO L272 TraceCheckUtils]: 88: Hoare triple {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:49,907 INFO L290 TraceCheckUtils]: 87: Hoare triple {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} assume !false; {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:31:49,925 INFO L290 TraceCheckUtils]: 86: Hoare triple {10066#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:31:50,171 INFO L290 TraceCheckUtils]: 85: Hoare triple {10070#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))))) (= (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); {10066#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))))} is VALID [2022-04-08 06:31:50,172 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9679#true} {10070#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))))) (= (mod main_~p~0 2) 0)))))} #95#return; {10070#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:31:50,173 INFO L290 TraceCheckUtils]: 83: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:50,173 INFO L290 TraceCheckUtils]: 82: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:50,173 INFO L290 TraceCheckUtils]: 81: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:50,173 INFO L272 TraceCheckUtils]: 80: Hoare triple {10070#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))))) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:50,174 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9679#true} {10070#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))))) (= (mod main_~p~0 2) 0)))))} #93#return; {10070#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:31:50,175 INFO L290 TraceCheckUtils]: 78: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:50,175 INFO L290 TraceCheckUtils]: 77: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:50,175 INFO L290 TraceCheckUtils]: 76: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:50,175 INFO L272 TraceCheckUtils]: 75: Hoare triple {10070#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))))) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:50,181 INFO L290 TraceCheckUtils]: 74: Hoare triple {10070#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))))) (= (mod main_~p~0 2) 0)))))} assume !false; {10070#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:31:50,187 INFO L290 TraceCheckUtils]: 73: Hoare triple {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0))) (< main_~d~0 0) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {10070#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (< main_~p~0 0)) (and (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:31:50,189 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9679#true} {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0))) (< main_~d~0 0) (<= main_~d~0 main_~r~0))} #91#return; {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0))) (< main_~d~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:31:50,189 INFO L290 TraceCheckUtils]: 71: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:50,189 INFO L290 TraceCheckUtils]: 70: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:50,189 INFO L290 TraceCheckUtils]: 69: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:50,189 INFO L272 TraceCheckUtils]: 68: Hoare triple {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~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)); {9679#true} is VALID [2022-04-08 06:31:50,190 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9679#true} {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0))) (< main_~d~0 0) (<= main_~d~0 main_~r~0))} #89#return; {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0))) (< main_~d~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:31:50,190 INFO L290 TraceCheckUtils]: 66: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:50,191 INFO L290 TraceCheckUtils]: 65: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:50,191 INFO L290 TraceCheckUtils]: 64: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:50,191 INFO L272 TraceCheckUtils]: 63: Hoare triple {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~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)); {9679#true} is VALID [2022-04-08 06:31:50,204 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9679#true} {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0))) (< main_~d~0 0) (<= main_~d~0 main_~r~0))} #87#return; {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0))) (< main_~d~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:31:50,204 INFO L290 TraceCheckUtils]: 61: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:50,204 INFO L290 TraceCheckUtils]: 60: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:50,204 INFO L290 TraceCheckUtils]: 59: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:50,204 INFO L272 TraceCheckUtils]: 58: Hoare triple {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0))) (< main_~d~0 0) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:50,206 INFO L290 TraceCheckUtils]: 57: Hoare triple {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0))) (< main_~d~0 0) (<= main_~d~0 main_~r~0))} assume !false; {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0))) (< main_~d~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:31:51,556 INFO L290 TraceCheckUtils]: 56: Hoare triple {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10107#(or (and (or (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (not (< main_~p~0 0)) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0))) (< main_~d~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:31:51,557 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9679#true} {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} #91#return; {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} is VALID [2022-04-08 06:31:51,557 INFO L290 TraceCheckUtils]: 54: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:51,557 INFO L290 TraceCheckUtils]: 53: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:51,557 INFO L290 TraceCheckUtils]: 52: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:51,558 INFO L272 TraceCheckUtils]: 51: Hoare triple {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:51,558 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9679#true} {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} #89#return; {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} is VALID [2022-04-08 06:31:51,558 INFO L290 TraceCheckUtils]: 49: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:51,559 INFO L290 TraceCheckUtils]: 48: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:51,559 INFO L290 TraceCheckUtils]: 47: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:51,559 INFO L272 TraceCheckUtils]: 46: Hoare triple {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:51,560 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9679#true} {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} #87#return; {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} is VALID [2022-04-08 06:31:51,560 INFO L290 TraceCheckUtils]: 44: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:51,560 INFO L290 TraceCheckUtils]: 43: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:51,560 INFO L290 TraceCheckUtils]: 42: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:51,560 INFO L272 TraceCheckUtils]: 41: Hoare triple {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:51,561 INFO L290 TraceCheckUtils]: 40: Hoare triple {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} assume !false; {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} is VALID [2022-04-08 06:31:51,566 INFO L290 TraceCheckUtils]: 39: Hoare triple {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (<= (* main_~d~0 2) main_~r~0) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)))} is VALID [2022-04-08 06:31:51,567 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9679#true} {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #91#return; {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 06:31:51,567 INFO L290 TraceCheckUtils]: 37: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:51,567 INFO L290 TraceCheckUtils]: 36: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:51,567 INFO L290 TraceCheckUtils]: 35: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:51,567 INFO L272 TraceCheckUtils]: 34: Hoare triple {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:51,568 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9679#true} {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #89#return; {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 06:31:51,568 INFO L290 TraceCheckUtils]: 32: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:51,568 INFO L290 TraceCheckUtils]: 31: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:51,568 INFO L290 TraceCheckUtils]: 30: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:51,569 INFO L272 TraceCheckUtils]: 29: Hoare triple {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:51,569 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9679#true} {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #87#return; {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 06:31:51,569 INFO L290 TraceCheckUtils]: 27: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:51,569 INFO L290 TraceCheckUtils]: 26: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:51,570 INFO L290 TraceCheckUtils]: 25: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:51,570 INFO L272 TraceCheckUtils]: 24: Hoare triple {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:51,570 INFO L290 TraceCheckUtils]: 23: Hoare triple {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} assume !false; {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 06:31:51,572 INFO L290 TraceCheckUtils]: 22: Hoare triple {9679#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 3) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 06:31:51,572 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9679#true} {9679#true} #85#return; {9679#true} is VALID [2022-04-08 06:31:51,572 INFO L290 TraceCheckUtils]: 20: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:51,572 INFO L290 TraceCheckUtils]: 19: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:51,572 INFO L290 TraceCheckUtils]: 18: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:51,572 INFO L272 TraceCheckUtils]: 17: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:51,572 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9679#true} {9679#true} #83#return; {9679#true} is VALID [2022-04-08 06:31:51,572 INFO L290 TraceCheckUtils]: 15: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L290 TraceCheckUtils]: 14: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L290 TraceCheckUtils]: 13: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L272 TraceCheckUtils]: 12: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L290 TraceCheckUtils]: 11: Hoare triple {9679#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9679#true} {9679#true} #81#return; {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L290 TraceCheckUtils]: 7: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L272 TraceCheckUtils]: 6: Hoare triple {9679#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L290 TraceCheckUtils]: 5: Hoare triple {9679#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L272 TraceCheckUtils]: 4: Hoare triple {9679#true} call #t~ret6 := main(); {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9679#true} {9679#true} #101#return; {9679#true} is VALID [2022-04-08 06:31:51,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-08 06:31:51,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {9679#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {9679#true} is VALID [2022-04-08 06:31:51,574 INFO L272 TraceCheckUtils]: 0: Hoare triple {9679#true} call ULTIMATE.init(); {9679#true} is VALID [2022-04-08 06:31:51,574 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 26 proven. 24 refuted. 0 times theorem prover too weak. 324 trivial. 0 not checked. [2022-04-08 06:31:51,575 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:31:51,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1641260583] [2022-04-08 06:31:51,575 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:31:51,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1321662696] [2022-04-08 06:31:51,575 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1321662696] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:31:51,575 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:31:51,575 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 12] total 23 [2022-04-08 06:31:51,575 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:31:51,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1792886333] [2022-04-08 06:31:51,575 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1792886333] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:31:51,575 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:31:51,576 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 06:31:51,576 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1129030146] [2022-04-08 06:31:51,576 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:31:51,576 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-08 06:31:51,576 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:31:51,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.0) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:31:51,677 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:31:51,678 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 06:31:51,678 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:31:51,678 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 06:31:51,678 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=403, Unknown=0, NotChecked=0, Total=506 [2022-04-08 06:31:51,679 INFO L87 Difference]: Start difference. First operand 138 states and 167 transitions. Second operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:31:56,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:31:56,706 INFO L93 Difference]: Finished difference Result 184 states and 208 transitions. [2022-04-08 06:31:56,706 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 06:31:56,706 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-08 06:31:56,706 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:31:56,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:31:56,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 116 transitions. [2022-04-08 06:31:56,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:31:56,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 116 transitions. [2022-04-08 06:31:56,711 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 116 transitions. [2022-04-08 06:31:56,919 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:31:56,921 INFO L225 Difference]: With dead ends: 184 [2022-04-08 06:31:56,922 INFO L226 Difference]: Without dead ends: 151 [2022-04-08 06:31:56,922 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 187 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 144 ImplicationChecksByTransitivity, 15.2s TimeCoverageRelationStatistics Valid=111, Invalid=489, Unknown=0, NotChecked=0, Total=600 [2022-04-08 06:31:56,923 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 27 mSDsluCounter, 247 mSDsCounter, 0 mSdLazyCounter, 731 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 297 SdHoareTripleChecker+Invalid, 770 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 731 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:31:56,923 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 297 Invalid, 770 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 731 Invalid, 0 Unknown, 0 Unchecked, 2.1s Time] [2022-04-08 06:31:56,923 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-04-08 06:31:57,091 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 151. [2022-04-08 06:31:57,091 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:31:57,092 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand has 151 states, 93 states have (on average 1.086021505376344) internal successors, (101), 98 states have internal predecessors, (101), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 06:31:57,092 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand has 151 states, 93 states have (on average 1.086021505376344) internal successors, (101), 98 states have internal predecessors, (101), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 06:31:57,093 INFO L87 Difference]: Start difference. First operand 151 states. Second operand has 151 states, 93 states have (on average 1.086021505376344) internal successors, (101), 98 states have internal predecessors, (101), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 06:31:57,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:31:57,096 INFO L93 Difference]: Finished difference Result 151 states and 170 transitions. [2022-04-08 06:31:57,096 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 170 transitions. [2022-04-08 06:31:57,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:31:57,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:31:57,097 INFO L74 IsIncluded]: Start isIncluded. First operand has 151 states, 93 states have (on average 1.086021505376344) internal successors, (101), 98 states have internal predecessors, (101), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 151 states. [2022-04-08 06:31:57,097 INFO L87 Difference]: Start difference. First operand has 151 states, 93 states have (on average 1.086021505376344) internal successors, (101), 98 states have internal predecessors, (101), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 151 states. [2022-04-08 06:31:57,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:31:57,101 INFO L93 Difference]: Finished difference Result 151 states and 170 transitions. [2022-04-08 06:31:57,101 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 170 transitions. [2022-04-08 06:31:57,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:31:57,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:31:57,102 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:31:57,102 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:31:57,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 151 states, 93 states have (on average 1.086021505376344) internal successors, (101), 98 states have internal predecessors, (101), 36 states have call successors, (36), 22 states have call predecessors, (36), 21 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 06:31:57,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 151 states to 151 states and 170 transitions. [2022-04-08 06:31:57,106 INFO L78 Accepts]: Start accepts. Automaton has 151 states and 170 transitions. Word has length 105 [2022-04-08 06:31:57,106 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:31:57,106 INFO L478 AbstractCegarLoop]: Abstraction has 151 states and 170 transitions. [2022-04-08 06:31:57,107 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 14 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:31:57,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 151 states and 170 transitions. [2022-04-08 06:31:57,438 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 170 edges. 170 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:31:57,439 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 170 transitions. [2022-04-08 06:31:57,439 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 115 [2022-04-08 06:31:57,439 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:31:57,439 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:31:57,459 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-08 06:31:57,640 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 06:31:57,640 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:31:57,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:31:57,640 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 11 times [2022-04-08 06:31:57,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:31:57,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1979879627] [2022-04-08 06:31:57,641 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:31:57,641 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 12 times [2022-04-08 06:31:57,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:31:57,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1984980667] [2022-04-08 06:31:57,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:31:57,641 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:31:57,652 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:31:57,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1246820450] [2022-04-08 06:31:57,652 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 06:31:57,652 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:31:57,653 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:31:57,654 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:31:57,656 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 06:31:57,749 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 06:31:57,750 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:31:57,751 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 06:31:57,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:31:57,774 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:32:01,840 INFO L272 TraceCheckUtils]: 0: Hoare triple {11307#true} call ULTIMATE.init(); {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L290 TraceCheckUtils]: 1: Hoare triple {11307#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); {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11307#true} {11307#true} #101#return; {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L272 TraceCheckUtils]: 4: Hoare triple {11307#true} call #t~ret6 := main(); {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L290 TraceCheckUtils]: 5: Hoare triple {11307#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; {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L272 TraceCheckUtils]: 6: Hoare triple {11307#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L290 TraceCheckUtils]: 7: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L290 TraceCheckUtils]: 8: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L290 TraceCheckUtils]: 9: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11307#true} {11307#true} #81#return; {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L290 TraceCheckUtils]: 11: Hoare triple {11307#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L272 TraceCheckUtils]: 12: Hoare triple {11307#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,841 INFO L290 TraceCheckUtils]: 13: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,842 INFO L290 TraceCheckUtils]: 14: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,842 INFO L290 TraceCheckUtils]: 15: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,842 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11307#true} {11307#true} #83#return; {11307#true} is VALID [2022-04-08 06:32:01,842 INFO L272 TraceCheckUtils]: 17: Hoare triple {11307#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,842 INFO L290 TraceCheckUtils]: 18: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,842 INFO L290 TraceCheckUtils]: 19: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,842 INFO L290 TraceCheckUtils]: 20: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,842 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11307#true} {11307#true} #85#return; {11307#true} is VALID [2022-04-08 06:32:01,843 INFO L290 TraceCheckUtils]: 22: Hoare triple {11307#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:32:01,843 INFO L290 TraceCheckUtils]: 23: Hoare triple {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:32:01,843 INFO L272 TraceCheckUtils]: 24: Hoare triple {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,843 INFO L290 TraceCheckUtils]: 25: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,843 INFO L290 TraceCheckUtils]: 26: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,843 INFO L290 TraceCheckUtils]: 27: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,844 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11307#true} {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:32:01,844 INFO L272 TraceCheckUtils]: 29: Hoare triple {11378#(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)); {11307#true} is VALID [2022-04-08 06:32:01,844 INFO L290 TraceCheckUtils]: 30: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,844 INFO L290 TraceCheckUtils]: 31: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,844 INFO L290 TraceCheckUtils]: 32: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,844 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11307#true} {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:32:01,845 INFO L272 TraceCheckUtils]: 34: Hoare triple {11378#(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)); {11307#true} is VALID [2022-04-08 06:32:01,845 INFO L290 TraceCheckUtils]: 35: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,845 INFO L290 TraceCheckUtils]: 36: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,845 INFO L290 TraceCheckUtils]: 37: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,845 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11307#true} {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:32:01,846 INFO L290 TraceCheckUtils]: 39: Hoare triple {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:32:01,846 INFO L290 TraceCheckUtils]: 40: Hoare triple {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:32:01,846 INFO L272 TraceCheckUtils]: 41: Hoare triple {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,846 INFO L290 TraceCheckUtils]: 42: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,846 INFO L290 TraceCheckUtils]: 43: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,846 INFO L290 TraceCheckUtils]: 44: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,847 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11307#true} {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:32:01,847 INFO L272 TraceCheckUtils]: 46: Hoare triple {11378#(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)); {11307#true} is VALID [2022-04-08 06:32:01,847 INFO L290 TraceCheckUtils]: 47: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,847 INFO L290 TraceCheckUtils]: 48: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,847 INFO L290 TraceCheckUtils]: 49: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,848 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11307#true} {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:32:01,848 INFO L272 TraceCheckUtils]: 51: Hoare triple {11378#(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)); {11307#true} is VALID [2022-04-08 06:32:01,848 INFO L290 TraceCheckUtils]: 52: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,848 INFO L290 TraceCheckUtils]: 53: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,848 INFO L290 TraceCheckUtils]: 54: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,849 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11307#true} {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:32:01,850 INFO L290 TraceCheckUtils]: 56: Hoare triple {11378#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,851 INFO L290 TraceCheckUtils]: 57: Hoare triple {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,851 INFO L272 TraceCheckUtils]: 58: Hoare triple {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,851 INFO L290 TraceCheckUtils]: 59: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,851 INFO L290 TraceCheckUtils]: 60: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,851 INFO L290 TraceCheckUtils]: 61: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,852 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11307#true} {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,852 INFO L272 TraceCheckUtils]: 63: Hoare triple {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,852 INFO L290 TraceCheckUtils]: 64: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,852 INFO L290 TraceCheckUtils]: 65: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,852 INFO L290 TraceCheckUtils]: 66: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,853 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11307#true} {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,853 INFO L272 TraceCheckUtils]: 68: Hoare triple {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,853 INFO L290 TraceCheckUtils]: 69: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,853 INFO L290 TraceCheckUtils]: 70: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,853 INFO L290 TraceCheckUtils]: 71: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,854 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11307#true} {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,855 INFO L290 TraceCheckUtils]: 73: Hoare triple {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,856 INFO L290 TraceCheckUtils]: 74: Hoare triple {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,856 INFO L272 TraceCheckUtils]: 75: Hoare triple {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,856 INFO L290 TraceCheckUtils]: 76: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,856 INFO L290 TraceCheckUtils]: 77: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,856 INFO L290 TraceCheckUtils]: 78: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,857 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11307#true} {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,857 INFO L272 TraceCheckUtils]: 80: Hoare triple {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,857 INFO L290 TraceCheckUtils]: 81: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,857 INFO L290 TraceCheckUtils]: 82: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,857 INFO L290 TraceCheckUtils]: 83: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,858 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11307#true} {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,858 INFO L272 TraceCheckUtils]: 85: Hoare triple {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,858 INFO L290 TraceCheckUtils]: 86: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,858 INFO L290 TraceCheckUtils]: 87: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,858 INFO L290 TraceCheckUtils]: 88: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,859 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11307#true} {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,859 INFO L290 TraceCheckUtils]: 90: Hoare triple {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,859 INFO L290 TraceCheckUtils]: 91: Hoare triple {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,860 INFO L272 TraceCheckUtils]: 92: Hoare triple {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,860 INFO L290 TraceCheckUtils]: 93: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,860 INFO L290 TraceCheckUtils]: 94: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,860 INFO L290 TraceCheckUtils]: 95: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,860 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11307#true} {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #93#return; {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,860 INFO L272 TraceCheckUtils]: 97: Hoare triple {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,860 INFO L290 TraceCheckUtils]: 98: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:01,861 INFO L290 TraceCheckUtils]: 99: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:01,861 INFO L290 TraceCheckUtils]: 100: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:01,861 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11307#true} {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #95#return; {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,863 INFO L290 TraceCheckUtils]: 102: Hoare triple {11533#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,865 INFO L290 TraceCheckUtils]: 103: Hoare triple {11481#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11624#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,865 INFO L290 TraceCheckUtils]: 104: Hoare triple {11624#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0))} assume !false; {11624#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,866 INFO L272 TraceCheckUtils]: 105: Hoare triple {11624#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:01,866 INFO L290 TraceCheckUtils]: 106: Hoare triple {11307#true} ~cond := #in~cond; {11634#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:32:01,866 INFO L290 TraceCheckUtils]: 107: Hoare triple {11634#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:32:01,866 INFO L290 TraceCheckUtils]: 108: Hoare triple {11638#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:32:01,868 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11638#(not (= |__VERIFIER_assert_#in~cond| 0))} {11624#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0))} #93#return; {11645#(and (exists ((main_~A~0 Int)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) main_~d~0))) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:32:01,868 INFO L272 TraceCheckUtils]: 110: Hoare triple {11645#(and (exists ((main_~A~0 Int)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) main_~d~0))) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11649#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:32:01,869 INFO L290 TraceCheckUtils]: 111: Hoare triple {11649#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11653#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:32:01,869 INFO L290 TraceCheckUtils]: 112: Hoare triple {11653#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11308#false} is VALID [2022-04-08 06:32:01,869 INFO L290 TraceCheckUtils]: 113: Hoare triple {11308#false} assume !false; {11308#false} is VALID [2022-04-08 06:32:01,870 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 96 proven. 4 refuted. 0 times theorem prover too weak. 395 trivial. 0 not checked. [2022-04-08 06:32:01,870 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:32:49,409 INFO L290 TraceCheckUtils]: 113: Hoare triple {11308#false} assume !false; {11308#false} is VALID [2022-04-08 06:32:49,410 INFO L290 TraceCheckUtils]: 112: Hoare triple {11653#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11308#false} is VALID [2022-04-08 06:32:49,410 INFO L290 TraceCheckUtils]: 111: Hoare triple {11649#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11653#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:32:49,411 INFO L272 TraceCheckUtils]: 110: Hoare triple {11669#(= 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)); {11649#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:32:49,411 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11638#(not (= |__VERIFIER_assert_#in~cond| 0))} {11673#(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))))} #93#return; {11669#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,412 INFO L290 TraceCheckUtils]: 108: Hoare triple {11638#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:32:49,412 INFO L290 TraceCheckUtils]: 107: Hoare triple {11683#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:32:49,412 INFO L290 TraceCheckUtils]: 106: Hoare triple {11307#true} ~cond := #in~cond; {11683#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:32:49,413 INFO L272 TraceCheckUtils]: 105: Hoare triple {11673#(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)); {11307#true} is VALID [2022-04-08 06:32:49,413 INFO L290 TraceCheckUtils]: 104: Hoare triple {11673#(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 !false; {11673#(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-08 06:32:49,417 INFO L290 TraceCheckUtils]: 103: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* 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; {11673#(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-08 06:32:49,418 INFO L290 TraceCheckUtils]: 102: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (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); {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,418 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #95#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,419 INFO L290 TraceCheckUtils]: 100: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,419 INFO L290 TraceCheckUtils]: 99: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,419 INFO L290 TraceCheckUtils]: 98: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,419 INFO L272 TraceCheckUtils]: 97: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,419 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,419 INFO L290 TraceCheckUtils]: 95: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,420 INFO L290 TraceCheckUtils]: 94: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,420 INFO L290 TraceCheckUtils]: 93: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,420 INFO L272 TraceCheckUtils]: 92: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* 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)); {11307#true} is VALID [2022-04-08 06:32:49,420 INFO L290 TraceCheckUtils]: 91: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,420 INFO L290 TraceCheckUtils]: 90: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} assume !(~r~0 >= ~d~0); {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,421 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,421 INFO L290 TraceCheckUtils]: 88: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,421 INFO L290 TraceCheckUtils]: 87: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,421 INFO L290 TraceCheckUtils]: 86: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,421 INFO L272 TraceCheckUtils]: 85: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,422 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,422 INFO L290 TraceCheckUtils]: 83: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,422 INFO L290 TraceCheckUtils]: 82: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,422 INFO L290 TraceCheckUtils]: 81: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,422 INFO L272 TraceCheckUtils]: 80: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,423 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,423 INFO L290 TraceCheckUtils]: 78: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,423 INFO L290 TraceCheckUtils]: 77: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,423 INFO L290 TraceCheckUtils]: 76: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,423 INFO L272 TraceCheckUtils]: 75: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,423 INFO L290 TraceCheckUtils]: 74: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,424 INFO L290 TraceCheckUtils]: 73: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,424 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,425 INFO L290 TraceCheckUtils]: 71: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,425 INFO L290 TraceCheckUtils]: 70: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,425 INFO L290 TraceCheckUtils]: 69: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,425 INFO L272 TraceCheckUtils]: 68: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,425 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,425 INFO L290 TraceCheckUtils]: 66: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,426 INFO L290 TraceCheckUtils]: 65: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,426 INFO L290 TraceCheckUtils]: 64: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,426 INFO L272 TraceCheckUtils]: 63: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,426 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,426 INFO L290 TraceCheckUtils]: 61: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,426 INFO L290 TraceCheckUtils]: 60: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,426 INFO L290 TraceCheckUtils]: 59: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,427 INFO L272 TraceCheckUtils]: 58: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,427 INFO L290 TraceCheckUtils]: 57: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,427 INFO L290 TraceCheckUtils]: 56: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,428 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,428 INFO L290 TraceCheckUtils]: 54: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,428 INFO L290 TraceCheckUtils]: 53: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,428 INFO L290 TraceCheckUtils]: 52: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,428 INFO L272 TraceCheckUtils]: 51: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,429 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,429 INFO L290 TraceCheckUtils]: 49: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,429 INFO L290 TraceCheckUtils]: 48: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,429 INFO L290 TraceCheckUtils]: 47: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,429 INFO L272 TraceCheckUtils]: 46: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,430 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,430 INFO L290 TraceCheckUtils]: 44: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,430 INFO L290 TraceCheckUtils]: 43: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,430 INFO L290 TraceCheckUtils]: 42: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,430 INFO L272 TraceCheckUtils]: 41: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,430 INFO L290 TraceCheckUtils]: 40: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,431 INFO L290 TraceCheckUtils]: 39: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,431 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,432 INFO L290 TraceCheckUtils]: 37: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,432 INFO L290 TraceCheckUtils]: 36: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,432 INFO L290 TraceCheckUtils]: 35: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,432 INFO L272 TraceCheckUtils]: 34: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,432 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,432 INFO L290 TraceCheckUtils]: 32: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,432 INFO L290 TraceCheckUtils]: 31: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,433 INFO L290 TraceCheckUtils]: 30: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,433 INFO L272 TraceCheckUtils]: 29: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,433 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11307#true} {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,433 INFO L290 TraceCheckUtils]: 27: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,433 INFO L290 TraceCheckUtils]: 26: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,433 INFO L290 TraceCheckUtils]: 25: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,433 INFO L272 TraceCheckUtils]: 24: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,434 INFO L290 TraceCheckUtils]: 23: Hoare triple {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,434 INFO L290 TraceCheckUtils]: 22: Hoare triple {11307#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11693#(= (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:32:49,434 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11307#true} {11307#true} #85#return; {11307#true} is VALID [2022-04-08 06:32:49,434 INFO L290 TraceCheckUtils]: 20: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L290 TraceCheckUtils]: 19: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L290 TraceCheckUtils]: 18: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L272 TraceCheckUtils]: 17: Hoare triple {11307#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11307#true} {11307#true} #83#return; {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L290 TraceCheckUtils]: 15: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L290 TraceCheckUtils]: 14: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L290 TraceCheckUtils]: 13: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L272 TraceCheckUtils]: 12: Hoare triple {11307#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L290 TraceCheckUtils]: 11: Hoare triple {11307#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11307#true} {11307#true} #81#return; {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L290 TraceCheckUtils]: 9: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L290 TraceCheckUtils]: 8: Hoare triple {11307#true} assume !(0 == ~cond); {11307#true} is VALID [2022-04-08 06:32:49,435 INFO L290 TraceCheckUtils]: 7: Hoare triple {11307#true} ~cond := #in~cond; {11307#true} is VALID [2022-04-08 06:32:49,436 INFO L272 TraceCheckUtils]: 6: Hoare triple {11307#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {11307#true} is VALID [2022-04-08 06:32:49,436 INFO L290 TraceCheckUtils]: 5: Hoare triple {11307#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; {11307#true} is VALID [2022-04-08 06:32:49,436 INFO L272 TraceCheckUtils]: 4: Hoare triple {11307#true} call #t~ret6 := main(); {11307#true} is VALID [2022-04-08 06:32:49,436 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11307#true} {11307#true} #101#return; {11307#true} is VALID [2022-04-08 06:32:49,436 INFO L290 TraceCheckUtils]: 2: Hoare triple {11307#true} assume true; {11307#true} is VALID [2022-04-08 06:32:49,436 INFO L290 TraceCheckUtils]: 1: Hoare triple {11307#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); {11307#true} is VALID [2022-04-08 06:32:49,436 INFO L272 TraceCheckUtils]: 0: Hoare triple {11307#true} call ULTIMATE.init(); {11307#true} is VALID [2022-04-08 06:32:49,436 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 71 proven. 4 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-08 06:32:49,436 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:32:49,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1984980667] [2022-04-08 06:32:49,437 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:32:49,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1246820450] [2022-04-08 06:32:49,437 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1246820450] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:32:49,437 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:32:49,437 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-08 06:32:49,437 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:32:49,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1979879627] [2022-04-08 06:32:49,437 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1979879627] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:32:49,437 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:32:49,437 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 06:32:49,437 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1700955772] [2022-04-08 06:32:49,437 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:32:49,438 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-08 06:32:49,438 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:32:49,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-08 06:32:49,541 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-08 06:32:49,541 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 06:32:49,541 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:32:49,542 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 06:32:49,542 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-04-08 06:32:49,542 INFO L87 Difference]: Start difference. First operand 151 states and 170 transitions. Second operand has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-08 06:32:52,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:32:52,797 INFO L93 Difference]: Finished difference Result 172 states and 193 transitions. [2022-04-08 06:32:52,797 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 06:32:52,797 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-08 06:32:52,798 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:32:52,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-08 06:32:52,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2022-04-08 06:32:52,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-08 06:32:52,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2022-04-08 06:32:52,801 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 103 transitions. [2022-04-08 06:32:53,003 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:32:53,006 INFO L225 Difference]: With dead ends: 172 [2022-04-08 06:32:53,006 INFO L226 Difference]: Without dead ends: 160 [2022-04-08 06:32:53,006 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 230 GetRequests, 200 SyntacticMatches, 14 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 143 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2022-04-08 06:32:53,007 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 23 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 316 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 234 SdHoareTripleChecker+Invalid, 389 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 316 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 58 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-08 06:32:53,007 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 234 Invalid, 389 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 316 Invalid, 0 Unknown, 58 Unchecked, 1.3s Time] [2022-04-08 06:32:53,007 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-08 06:32:53,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 159. [2022-04-08 06:32:53,207 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:32:53,208 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 159 states, 98 states have (on average 1.0816326530612246) internal successors, (106), 103 states have internal predecessors, (106), 38 states have call successors, (38), 23 states have call predecessors, (38), 22 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 06:32:53,208 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 159 states, 98 states have (on average 1.0816326530612246) internal successors, (106), 103 states have internal predecessors, (106), 38 states have call successors, (38), 23 states have call predecessors, (38), 22 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 06:32:53,209 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 159 states, 98 states have (on average 1.0816326530612246) internal successors, (106), 103 states have internal predecessors, (106), 38 states have call successors, (38), 23 states have call predecessors, (38), 22 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 06:32:53,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:32:53,212 INFO L93 Difference]: Finished difference Result 160 states and 180 transitions. [2022-04-08 06:32:53,212 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 180 transitions. [2022-04-08 06:32:53,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:32:53,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:32:53,213 INFO L74 IsIncluded]: Start isIncluded. First operand has 159 states, 98 states have (on average 1.0816326530612246) internal successors, (106), 103 states have internal predecessors, (106), 38 states have call successors, (38), 23 states have call predecessors, (38), 22 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) Second operand 160 states. [2022-04-08 06:32:53,214 INFO L87 Difference]: Start difference. First operand has 159 states, 98 states have (on average 1.0816326530612246) internal successors, (106), 103 states have internal predecessors, (106), 38 states have call successors, (38), 23 states have call predecessors, (38), 22 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) Second operand 160 states. [2022-04-08 06:32:53,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:32:53,218 INFO L93 Difference]: Finished difference Result 160 states and 180 transitions. [2022-04-08 06:32:53,218 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 180 transitions. [2022-04-08 06:32:53,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:32:53,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:32:53,219 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:32:53,219 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:32:53,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 159 states, 98 states have (on average 1.0816326530612246) internal successors, (106), 103 states have internal predecessors, (106), 38 states have call successors, (38), 23 states have call predecessors, (38), 22 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 06:32:53,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 159 states to 159 states and 179 transitions. [2022-04-08 06:32:53,224 INFO L78 Accepts]: Start accepts. Automaton has 159 states and 179 transitions. Word has length 114 [2022-04-08 06:32:53,225 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:32:53,225 INFO L478 AbstractCegarLoop]: Abstraction has 159 states and 179 transitions. [2022-04-08 06:32:53,225 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-08 06:32:53,225 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 159 states and 179 transitions. [2022-04-08 06:32:53,659 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 179 edges. 179 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:32:53,659 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 179 transitions. [2022-04-08 06:32:53,660 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-08 06:32:53,660 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:32:53,660 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:32:53,678 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 06:32:53,863 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 06:32:53,864 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:32:53,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:32:53,864 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 3 times [2022-04-08 06:32:53,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:32:53,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1801842747] [2022-04-08 06:32:53,864 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:32:53,865 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 4 times [2022-04-08 06:32:53,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:32:53,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [691996768] [2022-04-08 06:32:53,865 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:32:53,865 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:32:53,877 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:32:53,877 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1299884093] [2022-04-08 06:32:53,877 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:32:53,878 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:32:53,878 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:32:53,879 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:32:53,883 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 06:32:53,942 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:32:53,942 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:32:53,943 INFO L263 TraceCheckSpWp]: Trace formula consists of 261 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-08 06:32:53,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:32:53,972 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:33:33,975 INFO L272 TraceCheckUtils]: 0: Hoare triple {12993#true} call ULTIMATE.init(); {12993#true} is VALID [2022-04-08 06:33:33,975 INFO L290 TraceCheckUtils]: 1: Hoare triple {12993#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); {12993#true} is VALID [2022-04-08 06:33:33,975 INFO L290 TraceCheckUtils]: 2: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:33,975 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12993#true} {12993#true} #101#return; {12993#true} is VALID [2022-04-08 06:33:33,975 INFO L272 TraceCheckUtils]: 4: Hoare triple {12993#true} call #t~ret6 := main(); {12993#true} is VALID [2022-04-08 06:33:33,976 INFO L290 TraceCheckUtils]: 5: Hoare triple {12993#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; {12993#true} is VALID [2022-04-08 06:33:33,976 INFO L272 TraceCheckUtils]: 6: Hoare triple {12993#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:33,976 INFO L290 TraceCheckUtils]: 7: Hoare triple {12993#true} ~cond := #in~cond; {13019#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:33:33,977 INFO L290 TraceCheckUtils]: 8: Hoare triple {13019#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {13023#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:33:33,977 INFO L290 TraceCheckUtils]: 9: Hoare triple {13023#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {13023#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:33:33,978 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13023#(not (= |assume_abort_if_not_#in~cond| 0))} {12993#true} #81#return; {13030#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:33:33,978 INFO L290 TraceCheckUtils]: 11: Hoare triple {13030#(<= (mod main_~A~0 4294967296) 5)} ~B~0 := #t~nondet5;havoc #t~nondet5; {13030#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:33:33,978 INFO L272 TraceCheckUtils]: 12: Hoare triple {13030#(<= (mod main_~A~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:33,978 INFO L290 TraceCheckUtils]: 13: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:33,978 INFO L290 TraceCheckUtils]: 14: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:33,978 INFO L290 TraceCheckUtils]: 15: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:33,979 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12993#true} {13030#(<= (mod main_~A~0 4294967296) 5)} #83#return; {13030#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:33:33,979 INFO L272 TraceCheckUtils]: 17: Hoare triple {13030#(<= (mod main_~A~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:33,979 INFO L290 TraceCheckUtils]: 18: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:33,979 INFO L290 TraceCheckUtils]: 19: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:33,980 INFO L290 TraceCheckUtils]: 20: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:33,980 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12993#true} {13030#(<= (mod main_~A~0 4294967296) 5)} #85#return; {13030#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:33:33,986 INFO L290 TraceCheckUtils]: 22: Hoare triple {13030#(<= (mod main_~A~0 4294967296) 5)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-08 06:33:33,986 INFO L290 TraceCheckUtils]: 23: Hoare triple {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} assume !false; {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-08 06:33:33,987 INFO L272 TraceCheckUtils]: 24: Hoare triple {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:33,987 INFO L290 TraceCheckUtils]: 25: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:33,987 INFO L290 TraceCheckUtils]: 26: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:33,987 INFO L290 TraceCheckUtils]: 27: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:33,988 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12993#true} {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} #87#return; {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-08 06:33:33,988 INFO L272 TraceCheckUtils]: 29: Hoare triple {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:33,988 INFO L290 TraceCheckUtils]: 30: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:33,988 INFO L290 TraceCheckUtils]: 31: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:33,988 INFO L290 TraceCheckUtils]: 32: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:33,989 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12993#true} {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} #89#return; {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-08 06:33:33,989 INFO L272 TraceCheckUtils]: 34: Hoare triple {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:33,989 INFO L290 TraceCheckUtils]: 35: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:33,989 INFO L290 TraceCheckUtils]: 36: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:33,989 INFO L290 TraceCheckUtils]: 37: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:33,990 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {12993#true} {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} #91#return; {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-08 06:33:33,992 INFO L290 TraceCheckUtils]: 39: Hoare triple {13067#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:33:33,993 INFO L290 TraceCheckUtils]: 40: Hoare triple {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:33:33,993 INFO L272 TraceCheckUtils]: 41: Hoare triple {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:33,993 INFO L290 TraceCheckUtils]: 42: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:33,993 INFO L290 TraceCheckUtils]: 43: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:33,993 INFO L290 TraceCheckUtils]: 44: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:33,994 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12993#true} {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:33:33,994 INFO L272 TraceCheckUtils]: 46: Hoare triple {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:33,994 INFO L290 TraceCheckUtils]: 47: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:33,995 INFO L290 TraceCheckUtils]: 48: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:33,995 INFO L290 TraceCheckUtils]: 49: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:33,995 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12993#true} {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:33:33,996 INFO L272 TraceCheckUtils]: 51: Hoare triple {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:33,996 INFO L290 TraceCheckUtils]: 52: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:33,996 INFO L290 TraceCheckUtils]: 53: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:33,996 INFO L290 TraceCheckUtils]: 54: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:33,997 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {12993#true} {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:33:34,001 INFO L290 TraceCheckUtils]: 56: Hoare triple {13119#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 06:33:34,003 INFO L290 TraceCheckUtils]: 57: Hoare triple {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 06:33:34,003 INFO L272 TraceCheckUtils]: 58: Hoare triple {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:34,003 INFO L290 TraceCheckUtils]: 59: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:34,003 INFO L290 TraceCheckUtils]: 60: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:34,003 INFO L290 TraceCheckUtils]: 61: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:34,004 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {12993#true} {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #87#return; {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 06:33:34,004 INFO L272 TraceCheckUtils]: 63: Hoare triple {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:34,004 INFO L290 TraceCheckUtils]: 64: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:34,004 INFO L290 TraceCheckUtils]: 65: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:34,004 INFO L290 TraceCheckUtils]: 66: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:34,005 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {12993#true} {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #89#return; {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 06:33:34,005 INFO L272 TraceCheckUtils]: 68: Hoare triple {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:34,005 INFO L290 TraceCheckUtils]: 69: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:34,005 INFO L290 TraceCheckUtils]: 70: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:34,005 INFO L290 TraceCheckUtils]: 71: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:34,006 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12993#true} {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #91#return; {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 06:33:34,007 INFO L290 TraceCheckUtils]: 73: Hoare triple {13171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (<= 0 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {13223#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 06:33:34,007 INFO L290 TraceCheckUtils]: 74: Hoare triple {13223#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {13223#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 06:33:34,008 INFO L272 TraceCheckUtils]: 75: Hoare triple {13223#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (<= (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)); {12993#true} is VALID [2022-04-08 06:33:34,008 INFO L290 TraceCheckUtils]: 76: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:34,008 INFO L290 TraceCheckUtils]: 77: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:34,008 INFO L290 TraceCheckUtils]: 78: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:34,009 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {12993#true} {13223#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #93#return; {13223#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 06:33:34,009 INFO L272 TraceCheckUtils]: 80: Hoare triple {13223#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:34,009 INFO L290 TraceCheckUtils]: 81: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:34,009 INFO L290 TraceCheckUtils]: 82: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:34,009 INFO L290 TraceCheckUtils]: 83: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:34,010 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {12993#true} {13223#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #95#return; {13223#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 06:33:34,015 INFO L290 TraceCheckUtils]: 85: Hoare triple {13223#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (<= (mod main_~A~0 4294967296) 5) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (<= (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); {13260#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (< main_~r~0 (* main_~d~0 2)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:33:34,018 INFO L290 TraceCheckUtils]: 86: Hoare triple {13260#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (< main_~r~0 (* main_~d~0 2)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13264#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-08 06:33:34,019 INFO L290 TraceCheckUtils]: 87: Hoare triple {13264#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= (mod main_~A~0 4294967296) 5))} assume !false; {13264#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-08 06:33:34,019 INFO L272 TraceCheckUtils]: 88: Hoare triple {13264#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= (mod main_~A~0 4294967296) 5))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:34,019 INFO L290 TraceCheckUtils]: 89: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:34,019 INFO L290 TraceCheckUtils]: 90: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:34,019 INFO L290 TraceCheckUtils]: 91: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:34,020 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {12993#true} {13264#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= (mod main_~A~0 4294967296) 5))} #93#return; {13264#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-08 06:33:34,020 INFO L272 TraceCheckUtils]: 93: Hoare triple {13264#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= (mod main_~A~0 4294967296) 5))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:34,020 INFO L290 TraceCheckUtils]: 94: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:34,020 INFO L290 TraceCheckUtils]: 95: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:34,020 INFO L290 TraceCheckUtils]: 96: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:34,021 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {12993#true} {13264#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= (mod main_~A~0 4294967296) 5))} #95#return; {13264#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-08 06:33:34,025 INFO L290 TraceCheckUtils]: 98: Hoare triple {13264#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< (div (- main_~p~0) (- 2)) (+ (div main_~p~0 2) 1)) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= (mod main_~A~0 4294967296) 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); {13301#(and (= main_~p~0 (div main_~q~0 2)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2)) (- 2)) 2) 0) (<= 0 main_~r~0) (< (div (* (- 1) main_~q~0) (- 2)) (+ (div main_~q~0 2) 1)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= (mod main_~A~0 4294967296) 5) (< (* main_~r~0 2) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 06:33:34,044 INFO L290 TraceCheckUtils]: 99: Hoare triple {13301#(and (= main_~p~0 (div main_~q~0 2)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2)) (- 2)) 2) 0) (<= 0 main_~r~0) (< (div (* (- 1) main_~q~0) (- 2)) (+ (div main_~q~0 2) 1)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= (mod main_~A~0 4294967296) 5) (< (* 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; {13305#(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) (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-08 06:33:34,045 INFO L290 TraceCheckUtils]: 100: Hoare triple {13305#(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) (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 5))} assume !false; {13305#(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) (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-08 06:33:34,045 INFO L272 TraceCheckUtils]: 101: Hoare triple {13305#(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) (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 5))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:34,045 INFO L290 TraceCheckUtils]: 102: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:34,045 INFO L290 TraceCheckUtils]: 103: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:34,045 INFO L290 TraceCheckUtils]: 104: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:34,045 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {12993#true} {13305#(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) (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 5))} #93#return; {13305#(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) (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-08 06:33:34,046 INFO L272 TraceCheckUtils]: 106: Hoare triple {13305#(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) (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 5))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12993#true} is VALID [2022-04-08 06:33:34,046 INFO L290 TraceCheckUtils]: 107: Hoare triple {12993#true} ~cond := #in~cond; {12993#true} is VALID [2022-04-08 06:33:34,046 INFO L290 TraceCheckUtils]: 108: Hoare triple {12993#true} assume !(0 == ~cond); {12993#true} is VALID [2022-04-08 06:33:34,046 INFO L290 TraceCheckUtils]: 109: Hoare triple {12993#true} assume true; {12993#true} is VALID [2022-04-08 06:33:34,046 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {12993#true} {13305#(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) (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 5))} #95#return; {13305#(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) (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-08 06:33:34,047 INFO L290 TraceCheckUtils]: 111: Hoare triple {13305#(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) (< (div (+ main_~p~0 (* (- 1) main_~q~0)) (- 2)) (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 5))} assume !(1 != ~p~0); {13342#(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) (< (div (+ (* (- 1) main_~q~0) 1) (- 2)) (+ (div (+ (- 1) main_~q~0) 2) 1)) (<= 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_~A~0 4294967296) 5))} is VALID [2022-04-08 06:33:34,053 INFO L272 TraceCheckUtils]: 112: Hoare triple {13342#(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) (< (div (+ (* (- 1) main_~q~0) 1) (- 2)) (+ (div (+ (- 1) main_~q~0) 2) 1)) (<= 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_~A~0 4294967296) 5))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13346#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:33:34,054 INFO L290 TraceCheckUtils]: 113: Hoare triple {13346#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13350#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:33:34,054 INFO L290 TraceCheckUtils]: 114: Hoare triple {13350#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12994#false} is VALID [2022-04-08 06:33:34,054 INFO L290 TraceCheckUtils]: 115: Hoare triple {12994#false} assume !false; {12994#false} is VALID [2022-04-08 06:33:34,055 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 40 proven. 24 refuted. 0 times theorem prover too weak. 426 trivial. 0 not checked. [2022-04-08 06:33:34,055 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:34:39,351 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:34:39,352 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [691996768] [2022-04-08 06:34:39,352 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:34:39,352 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1299884093] [2022-04-08 06:34:39,352 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1299884093] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 06:34:39,352 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 06:34:39,352 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-08 06:34:39,352 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:34:39,352 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1801842747] [2022-04-08 06:34:39,352 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1801842747] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:34:39,352 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:34:39,352 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 06:34:39,353 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [581545034] [2022-04-08 06:34:39,353 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:34:39,353 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.066666666666667) internal successors, (31), 15 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) Word has length 116 [2022-04-08 06:34:39,353 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:34:39,353 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.066666666666667) internal successors, (31), 15 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-08 06:34:39,524 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:34:39,524 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 06:34:39,524 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:34:39,525 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 06:34:39,526 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=127, Invalid=473, Unknown=0, NotChecked=0, Total=600 [2022-04-08 06:34:39,526 INFO L87 Difference]: Start difference. First operand 159 states and 179 transitions. Second operand has 16 states, 15 states have (on average 2.066666666666667) internal successors, (31), 15 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-08 06:34:48,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:34:48,966 INFO L93 Difference]: Finished difference Result 200 states and 233 transitions. [2022-04-08 06:34:48,966 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 06:34:48,966 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.066666666666667) internal successors, (31), 15 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) Word has length 116 [2022-04-08 06:34:48,966 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:34:48,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.066666666666667) internal successors, (31), 15 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-08 06:34:48,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 117 transitions. [2022-04-08 06:34:48,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.066666666666667) internal successors, (31), 15 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-08 06:34:48,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 117 transitions. [2022-04-08 06:34:48,972 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 117 transitions. [2022-04-08 06:34:49,262 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:34:49,264 INFO L225 Difference]: With dead ends: 200 [2022-04-08 06:34:49,265 INFO L226 Difference]: Without dead ends: 128 [2022-04-08 06:34:49,265 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 169 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 199 ImplicationChecksByTransitivity, 4.7s TimeCoverageRelationStatistics Valid=164, Invalid=648, Unknown=0, NotChecked=0, Total=812 [2022-04-08 06:34:49,266 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 30 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 463 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 247 SdHoareTripleChecker+Invalid, 503 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 463 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.9s IncrementalHoareTripleChecker+Time [2022-04-08 06:34:49,266 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 247 Invalid, 503 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 463 Invalid, 0 Unknown, 0 Unchecked, 3.9s Time] [2022-04-08 06:34:49,266 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-08 06:34:49,406 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 121. [2022-04-08 06:34:49,407 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:34:49,407 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 121 states, 74 states have (on average 1.0810810810810811) internal successors, (80), 77 states have internal predecessors, (80), 29 states have call successors, (29), 18 states have call predecessors, (29), 17 states have return successors, (27), 25 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 06:34:49,407 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 121 states, 74 states have (on average 1.0810810810810811) internal successors, (80), 77 states have internal predecessors, (80), 29 states have call successors, (29), 18 states have call predecessors, (29), 17 states have return successors, (27), 25 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 06:34:49,408 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 121 states, 74 states have (on average 1.0810810810810811) internal successors, (80), 77 states have internal predecessors, (80), 29 states have call successors, (29), 18 states have call predecessors, (29), 17 states have return successors, (27), 25 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 06:34:49,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:34:49,411 INFO L93 Difference]: Finished difference Result 128 states and 147 transitions. [2022-04-08 06:34:49,411 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 147 transitions. [2022-04-08 06:34:49,412 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:34:49,412 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:34:49,412 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 74 states have (on average 1.0810810810810811) internal successors, (80), 77 states have internal predecessors, (80), 29 states have call successors, (29), 18 states have call predecessors, (29), 17 states have return successors, (27), 25 states have call predecessors, (27), 27 states have call successors, (27) Second operand 128 states. [2022-04-08 06:34:49,412 INFO L87 Difference]: Start difference. First operand has 121 states, 74 states have (on average 1.0810810810810811) internal successors, (80), 77 states have internal predecessors, (80), 29 states have call successors, (29), 18 states have call predecessors, (29), 17 states have return successors, (27), 25 states have call predecessors, (27), 27 states have call successors, (27) Second operand 128 states. [2022-04-08 06:34:49,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:34:49,416 INFO L93 Difference]: Finished difference Result 128 states and 147 transitions. [2022-04-08 06:34:49,416 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 147 transitions. [2022-04-08 06:34:49,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:34:49,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:34:49,416 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:34:49,417 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:34:49,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 74 states have (on average 1.0810810810810811) internal successors, (80), 77 states have internal predecessors, (80), 29 states have call successors, (29), 18 states have call predecessors, (29), 17 states have return successors, (27), 25 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-08 06:34:49,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 136 transitions. [2022-04-08 06:34:49,420 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 136 transitions. Word has length 116 [2022-04-08 06:34:49,420 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:34:49,420 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 136 transitions. [2022-04-08 06:34:49,420 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.066666666666667) internal successors, (31), 15 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 8 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-08 06:34:49,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 136 transitions. [2022-04-08 06:34:49,780 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:34:49,781 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 136 transitions. [2022-04-08 06:34:49,781 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-08 06:34:49,782 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:34:49,782 INFO L499 BasicCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:34:49,803 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 06:34:49,991 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-08 06:34:49,992 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:34:49,992 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:34:49,992 INFO L85 PathProgramCache]: Analyzing trace with hash 515319041, now seen corresponding path program 13 times [2022-04-08 06:34:49,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:34:49,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1814301588] [2022-04-08 06:34:49,992 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:34:49,993 INFO L85 PathProgramCache]: Analyzing trace with hash 515319041, now seen corresponding path program 14 times [2022-04-08 06:34:49,993 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:34:49,993 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1330404980] [2022-04-08 06:34:49,993 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:34:49,993 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:34:50,004 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:34:50,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1098270316] [2022-04-08 06:34:50,005 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:34:50,005 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:34:50,005 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:34:50,028 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:34:50,029 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-08 06:34:50,093 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:34:50,093 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:34:50,095 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 06:34:50,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:34:50,118 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:35:16,531 INFO L272 TraceCheckUtils]: 0: Hoare triple {14505#true} call ULTIMATE.init(); {14505#true} is VALID [2022-04-08 06:35:16,531 INFO L290 TraceCheckUtils]: 1: Hoare triple {14505#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); {14505#true} is VALID [2022-04-08 06:35:16,531 INFO L290 TraceCheckUtils]: 2: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,531 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14505#true} {14505#true} #101#return; {14505#true} is VALID [2022-04-08 06:35:16,532 INFO L272 TraceCheckUtils]: 4: Hoare triple {14505#true} call #t~ret6 := main(); {14505#true} is VALID [2022-04-08 06:35:16,532 INFO L290 TraceCheckUtils]: 5: Hoare triple {14505#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; {14505#true} is VALID [2022-04-08 06:35:16,532 INFO L272 TraceCheckUtils]: 6: Hoare triple {14505#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,532 INFO L290 TraceCheckUtils]: 7: Hoare triple {14505#true} ~cond := #in~cond; {14531#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:35:16,533 INFO L290 TraceCheckUtils]: 8: Hoare triple {14531#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14535#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:35:16,533 INFO L290 TraceCheckUtils]: 9: Hoare triple {14535#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14535#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:35:16,534 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14535#(not (= |assume_abort_if_not_#in~cond| 0))} {14505#true} #81#return; {14542#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:35:16,534 INFO L290 TraceCheckUtils]: 11: Hoare triple {14542#(<= (mod main_~A~0 4294967296) 5)} ~B~0 := #t~nondet5;havoc #t~nondet5; {14542#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:35:16,534 INFO L272 TraceCheckUtils]: 12: Hoare triple {14542#(<= (mod main_~A~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,534 INFO L290 TraceCheckUtils]: 13: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,535 INFO L290 TraceCheckUtils]: 14: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,535 INFO L290 TraceCheckUtils]: 15: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,535 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14505#true} {14542#(<= (mod main_~A~0 4294967296) 5)} #83#return; {14542#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:35:16,535 INFO L272 TraceCheckUtils]: 17: Hoare triple {14542#(<= (mod main_~A~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,535 INFO L290 TraceCheckUtils]: 18: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,536 INFO L290 TraceCheckUtils]: 19: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,536 INFO L290 TraceCheckUtils]: 20: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,536 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14505#true} {14542#(<= (mod main_~A~0 4294967296) 5)} #85#return; {14542#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:35:16,543 INFO L290 TraceCheckUtils]: 22: Hoare triple {14542#(<= (mod main_~A~0 4294967296) 5)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:35:16,544 INFO L290 TraceCheckUtils]: 23: Hoare triple {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} assume !false; {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:35:16,544 INFO L272 TraceCheckUtils]: 24: Hoare triple {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,544 INFO L290 TraceCheckUtils]: 25: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,544 INFO L290 TraceCheckUtils]: 26: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,544 INFO L290 TraceCheckUtils]: 27: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,545 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14505#true} {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} #87#return; {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:35:16,545 INFO L272 TraceCheckUtils]: 29: Hoare triple {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,545 INFO L290 TraceCheckUtils]: 30: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,545 INFO L290 TraceCheckUtils]: 31: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,545 INFO L290 TraceCheckUtils]: 32: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,546 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14505#true} {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} #89#return; {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:35:16,546 INFO L272 TraceCheckUtils]: 34: Hoare triple {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,546 INFO L290 TraceCheckUtils]: 35: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,546 INFO L290 TraceCheckUtils]: 36: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,546 INFO L290 TraceCheckUtils]: 37: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,546 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14505#true} {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} #91#return; {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:35:16,549 INFO L290 TraceCheckUtils]: 39: Hoare triple {14579#(and (<= 0 main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} is VALID [2022-04-08 06:35:16,549 INFO L290 TraceCheckUtils]: 40: Hoare triple {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} assume !false; {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} is VALID [2022-04-08 06:35:16,550 INFO L272 TraceCheckUtils]: 41: Hoare triple {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,550 INFO L290 TraceCheckUtils]: 42: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,550 INFO L290 TraceCheckUtils]: 43: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,550 INFO L290 TraceCheckUtils]: 44: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,550 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14505#true} {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} #87#return; {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} is VALID [2022-04-08 06:35:16,551 INFO L272 TraceCheckUtils]: 46: Hoare triple {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,551 INFO L290 TraceCheckUtils]: 47: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,551 INFO L290 TraceCheckUtils]: 48: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,551 INFO L290 TraceCheckUtils]: 49: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,551 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14505#true} {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} #89#return; {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} is VALID [2022-04-08 06:35:16,552 INFO L272 TraceCheckUtils]: 51: Hoare triple {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,552 INFO L290 TraceCheckUtils]: 52: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,552 INFO L290 TraceCheckUtils]: 53: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,552 INFO L290 TraceCheckUtils]: 54: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,553 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14505#true} {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} #91#return; {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} is VALID [2022-04-08 06:35:16,556 INFO L290 TraceCheckUtils]: 56: Hoare triple {14631#(and (<= 0 main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 06:35:16,557 INFO L290 TraceCheckUtils]: 57: Hoare triple {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} assume !false; {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 06:35:16,557 INFO L272 TraceCheckUtils]: 58: Hoare triple {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,557 INFO L290 TraceCheckUtils]: 59: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,557 INFO L290 TraceCheckUtils]: 60: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,557 INFO L290 TraceCheckUtils]: 61: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,558 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {14505#true} {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} #87#return; {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 06:35:16,558 INFO L272 TraceCheckUtils]: 63: Hoare triple {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,558 INFO L290 TraceCheckUtils]: 64: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,558 INFO L290 TraceCheckUtils]: 65: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,558 INFO L290 TraceCheckUtils]: 66: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,559 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {14505#true} {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} #89#return; {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 06:35:16,559 INFO L272 TraceCheckUtils]: 68: Hoare triple {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,559 INFO L290 TraceCheckUtils]: 69: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,559 INFO L290 TraceCheckUtils]: 70: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,559 INFO L290 TraceCheckUtils]: 71: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,560 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14505#true} {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} #91#return; {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 06:35:16,563 INFO L290 TraceCheckUtils]: 73: Hoare triple {14683#(and (<= 0 (div (* (- 1) (div main_~d~0 2)) (- 2))) (<= 0 main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (< (div (* (- 1) (div main_~d~0 2)) (- 2)) 4294967296) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,564 INFO L290 TraceCheckUtils]: 74: Hoare triple {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} assume !false; {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,564 INFO L272 TraceCheckUtils]: 75: Hoare triple {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,564 INFO L290 TraceCheckUtils]: 76: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,564 INFO L290 TraceCheckUtils]: 77: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,564 INFO L290 TraceCheckUtils]: 78: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,565 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14505#true} {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} #87#return; {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,565 INFO L272 TraceCheckUtils]: 80: Hoare triple {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,565 INFO L290 TraceCheckUtils]: 81: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,565 INFO L290 TraceCheckUtils]: 82: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,565 INFO L290 TraceCheckUtils]: 83: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,566 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {14505#true} {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} #89#return; {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,566 INFO L272 TraceCheckUtils]: 85: Hoare triple {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,566 INFO L290 TraceCheckUtils]: 86: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,566 INFO L290 TraceCheckUtils]: 87: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,566 INFO L290 TraceCheckUtils]: 88: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,567 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {14505#true} {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} #91#return; {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,568 INFO L290 TraceCheckUtils]: 90: Hoare triple {14735#(and (<= 0 (div (* (- 1) (div (div main_~d~0 2) 2)) (- 2))) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} assume !(~r~0 >= ~d~0); {14787#(and (< main_~r~0 main_~d~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,568 INFO L290 TraceCheckUtils]: 91: Hoare triple {14787#(and (< main_~r~0 main_~d~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} assume !false; {14787#(and (< main_~r~0 main_~d~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,568 INFO L272 TraceCheckUtils]: 92: Hoare triple {14787#(and (< main_~r~0 main_~d~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,569 INFO L290 TraceCheckUtils]: 93: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,569 INFO L290 TraceCheckUtils]: 94: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,569 INFO L290 TraceCheckUtils]: 95: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,570 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {14505#true} {14787#(and (< main_~r~0 main_~d~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} #93#return; {14787#(and (< main_~r~0 main_~d~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,570 INFO L272 TraceCheckUtils]: 97: Hoare triple {14787#(and (< main_~r~0 main_~d~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,570 INFO L290 TraceCheckUtils]: 98: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,570 INFO L290 TraceCheckUtils]: 99: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,570 INFO L290 TraceCheckUtils]: 100: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,571 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {14505#true} {14787#(and (< main_~r~0 main_~d~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} #95#return; {14787#(and (< main_~r~0 main_~d~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,574 INFO L290 TraceCheckUtils]: 102: Hoare triple {14787#(and (< main_~r~0 main_~d~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= (mod main_~d~0 2) 0) (= (mod (div (div main_~d~0 2) 2) 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); {14824#(and (= (mod (div (div (* main_~d~0 2) 2) 2) 2) 0) (= (mod (div (* main_~d~0 2) 2) 2) 0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 (* main_~d~0 2)) (< main_~r~0 4294967296) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:35:16,587 INFO L290 TraceCheckUtils]: 103: Hoare triple {14824#(and (= (mod (div (div (* main_~d~0 2) 2) 2) 2) 0) (= (mod (div (* main_~d~0 2) 2) 2) 0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 (* main_~d~0 2)) (< main_~r~0 4294967296) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14828#(and (<= (mod (+ main_~d~0 main_~r~0) 4294967296) 5) (< (+ main_~d~0 main_~r~0) 4294967296) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= (mod (div (div (* main_~d~0 2) 2) 2) 2) 0) (= (mod (div (* main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,588 INFO L290 TraceCheckUtils]: 104: Hoare triple {14828#(and (<= (mod (+ main_~d~0 main_~r~0) 4294967296) 5) (< (+ main_~d~0 main_~r~0) 4294967296) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= (mod (div (div (* main_~d~0 2) 2) 2) 2) 0) (= (mod (div (* main_~d~0 2) 2) 2) 0))} assume !false; {14828#(and (<= (mod (+ main_~d~0 main_~r~0) 4294967296) 5) (< (+ main_~d~0 main_~r~0) 4294967296) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= (mod (div (div (* main_~d~0 2) 2) 2) 2) 0) (= (mod (div (* main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,588 INFO L272 TraceCheckUtils]: 105: Hoare triple {14828#(and (<= (mod (+ main_~d~0 main_~r~0) 4294967296) 5) (< (+ main_~d~0 main_~r~0) 4294967296) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= (mod (div (div (* main_~d~0 2) 2) 2) 2) 0) (= (mod (div (* main_~d~0 2) 2) 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,588 INFO L290 TraceCheckUtils]: 106: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,588 INFO L290 TraceCheckUtils]: 107: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,588 INFO L290 TraceCheckUtils]: 108: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,589 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {14505#true} {14828#(and (<= (mod (+ main_~d~0 main_~r~0) 4294967296) 5) (< (+ main_~d~0 main_~r~0) 4294967296) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= (mod (div (div (* main_~d~0 2) 2) 2) 2) 0) (= (mod (div (* main_~d~0 2) 2) 2) 0))} #93#return; {14828#(and (<= (mod (+ main_~d~0 main_~r~0) 4294967296) 5) (< (+ main_~d~0 main_~r~0) 4294967296) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= (mod (div (div (* main_~d~0 2) 2) 2) 2) 0) (= (mod (div (* main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,589 INFO L272 TraceCheckUtils]: 110: Hoare triple {14828#(and (<= (mod (+ main_~d~0 main_~r~0) 4294967296) 5) (< (+ main_~d~0 main_~r~0) 4294967296) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= (mod (div (div (* main_~d~0 2) 2) 2) 2) 0) (= (mod (div (* main_~d~0 2) 2) 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:16,589 INFO L290 TraceCheckUtils]: 111: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:16,589 INFO L290 TraceCheckUtils]: 112: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:16,590 INFO L290 TraceCheckUtils]: 113: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:16,590 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {14505#true} {14828#(and (<= (mod (+ main_~d~0 main_~r~0) 4294967296) 5) (< (+ main_~d~0 main_~r~0) 4294967296) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= (mod (div (div (* main_~d~0 2) 2) 2) 2) 0) (= (mod (div (* main_~d~0 2) 2) 2) 0))} #95#return; {14828#(and (<= (mod (+ main_~d~0 main_~r~0) 4294967296) 5) (< (+ main_~d~0 main_~r~0) 4294967296) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= (mod (div (div (* main_~d~0 2) 2) 2) 2) 0) (= (mod (div (* main_~d~0 2) 2) 2) 0))} is VALID [2022-04-08 06:35:16,596 INFO L290 TraceCheckUtils]: 115: Hoare triple {14828#(and (<= (mod (+ main_~d~0 main_~r~0) 4294967296) 5) (< (+ main_~d~0 main_~r~0) 4294967296) (< main_~r~0 main_~d~0) (<= 0 main_~r~0) (= (mod (div (div (* main_~d~0 2) 2) 2) 2) 0) (= (mod (div (* main_~d~0 2) 2) 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); {14865#(and (= (mod (div (div (* main_~d~0 4) 2) 2) 2) 0) (<= 0 main_~r~0) (< (+ main_~r~0 (* main_~d~0 2)) 4294967296) (< main_~r~0 (* main_~d~0 2)) (<= (div (+ (* (- 2) main_~d~0) 5 (* (- 1) main_~r~0)) (- 4294967296)) (div (+ main_~r~0 (* main_~d~0 2)) 4294967296)))} is VALID [2022-04-08 06:35:16,598 INFO L290 TraceCheckUtils]: 116: Hoare triple {14865#(and (= (mod (div (div (* main_~d~0 4) 2) 2) 2) 0) (<= 0 main_~r~0) (< (+ main_~r~0 (* main_~d~0 2)) 4294967296) (< main_~r~0 (* main_~d~0 2)) (<= (div (+ (* (- 2) main_~d~0) 5 (* (- 1) main_~r~0)) (- 4294967296)) (div (+ main_~r~0 (* main_~d~0 2)) 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14506#false} is VALID [2022-04-08 06:35:16,598 INFO L290 TraceCheckUtils]: 117: Hoare triple {14506#false} assume !false; {14506#false} is VALID [2022-04-08 06:35:16,599 INFO L272 TraceCheckUtils]: 118: Hoare triple {14506#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14506#false} is VALID [2022-04-08 06:35:16,599 INFO L290 TraceCheckUtils]: 119: Hoare triple {14506#false} ~cond := #in~cond; {14506#false} is VALID [2022-04-08 06:35:16,599 INFO L290 TraceCheckUtils]: 120: Hoare triple {14506#false} assume 0 == ~cond; {14506#false} is VALID [2022-04-08 06:35:16,599 INFO L290 TraceCheckUtils]: 121: Hoare triple {14506#false} assume !false; {14506#false} is VALID [2022-04-08 06:35:16,600 INFO L134 CoverageAnalysis]: Checked inductivity of 563 backedges. 51 proven. 26 refuted. 0 times theorem prover too weak. 486 trivial. 0 not checked. [2022-04-08 06:35:16,600 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:35:57,870 INFO L290 TraceCheckUtils]: 121: Hoare triple {14506#false} assume !false; {14506#false} is VALID [2022-04-08 06:35:57,871 INFO L290 TraceCheckUtils]: 120: Hoare triple {14506#false} assume 0 == ~cond; {14506#false} is VALID [2022-04-08 06:35:57,871 INFO L290 TraceCheckUtils]: 119: Hoare triple {14506#false} ~cond := #in~cond; {14506#false} is VALID [2022-04-08 06:35:57,871 INFO L272 TraceCheckUtils]: 118: Hoare triple {14506#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14506#false} is VALID [2022-04-08 06:35:57,871 INFO L290 TraceCheckUtils]: 117: Hoare triple {14506#false} assume !false; {14506#false} is VALID [2022-04-08 06:35:57,872 INFO L290 TraceCheckUtils]: 116: Hoare triple {14899#(not (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14506#false} is VALID [2022-04-08 06:35:57,875 INFO L290 TraceCheckUtils]: 115: Hoare triple {14903#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) 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); {14899#(not (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:35:57,876 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {14505#true} {14903#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} #95#return; {14903#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-08 06:35:57,876 INFO L290 TraceCheckUtils]: 113: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,876 INFO L290 TraceCheckUtils]: 112: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,876 INFO L290 TraceCheckUtils]: 111: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,876 INFO L272 TraceCheckUtils]: 110: Hoare triple {14903#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,877 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {14505#true} {14903#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} #93#return; {14903#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-08 06:35:57,877 INFO L290 TraceCheckUtils]: 108: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,877 INFO L290 TraceCheckUtils]: 107: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,877 INFO L290 TraceCheckUtils]: 106: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,877 INFO L272 TraceCheckUtils]: 105: Hoare triple {14903#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,880 INFO L290 TraceCheckUtils]: 104: Hoare triple {14903#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} assume !false; {14903#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-08 06:35:57,882 INFO L290 TraceCheckUtils]: 103: Hoare triple {14940#(and (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14903#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-08 06:35:57,886 INFO L290 TraceCheckUtils]: 102: Hoare triple {14944#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {14940#(and (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} is VALID [2022-04-08 06:35:57,887 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {14505#true} {14944#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #95#return; {14944#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-08 06:35:57,887 INFO L290 TraceCheckUtils]: 100: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,887 INFO L290 TraceCheckUtils]: 99: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,887 INFO L290 TraceCheckUtils]: 98: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,887 INFO L272 TraceCheckUtils]: 97: Hoare triple {14944#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,888 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {14505#true} {14944#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #93#return; {14944#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-08 06:35:57,888 INFO L290 TraceCheckUtils]: 95: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,888 INFO L290 TraceCheckUtils]: 94: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,888 INFO L290 TraceCheckUtils]: 93: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,888 INFO L272 TraceCheckUtils]: 92: Hoare triple {14944#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,890 INFO L290 TraceCheckUtils]: 91: Hoare triple {14944#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} assume !false; {14944#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-08 06:35:57,892 INFO L290 TraceCheckUtils]: 90: Hoare triple {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {14944#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-08 06:35:57,892 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {14505#true} {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} #91#return; {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:35:57,892 INFO L290 TraceCheckUtils]: 88: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,893 INFO L290 TraceCheckUtils]: 87: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,893 INFO L290 TraceCheckUtils]: 86: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,893 INFO L272 TraceCheckUtils]: 85: Hoare triple {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,893 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {14505#true} {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} #89#return; {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:35:57,893 INFO L290 TraceCheckUtils]: 83: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,893 INFO L290 TraceCheckUtils]: 82: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,893 INFO L290 TraceCheckUtils]: 81: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,893 INFO L272 TraceCheckUtils]: 80: Hoare triple {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,894 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14505#true} {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} #87#return; {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:35:57,894 INFO L290 TraceCheckUtils]: 78: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,894 INFO L290 TraceCheckUtils]: 77: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,894 INFO L290 TraceCheckUtils]: 76: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,894 INFO L272 TraceCheckUtils]: 75: Hoare triple {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,895 INFO L290 TraceCheckUtils]: 74: Hoare triple {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} assume !false; {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:35:57,896 INFO L290 TraceCheckUtils]: 73: Hoare triple {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14981#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:35:57,897 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14505#true} {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:35:57,897 INFO L290 TraceCheckUtils]: 71: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,897 INFO L290 TraceCheckUtils]: 70: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,897 INFO L290 TraceCheckUtils]: 69: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,897 INFO L272 TraceCheckUtils]: 68: Hoare triple {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,898 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {14505#true} {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:35:57,898 INFO L290 TraceCheckUtils]: 66: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,898 INFO L290 TraceCheckUtils]: 65: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,898 INFO L290 TraceCheckUtils]: 64: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,898 INFO L272 TraceCheckUtils]: 63: Hoare triple {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,898 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {14505#true} {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:35:57,898 INFO L290 TraceCheckUtils]: 61: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,899 INFO L290 TraceCheckUtils]: 60: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,899 INFO L290 TraceCheckUtils]: 59: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,899 INFO L272 TraceCheckUtils]: 58: Hoare triple {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,899 INFO L290 TraceCheckUtils]: 57: Hoare triple {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:35:57,900 INFO L290 TraceCheckUtils]: 56: Hoare triple {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15033#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:35:57,901 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14505#true} {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} #91#return; {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} is VALID [2022-04-08 06:35:57,901 INFO L290 TraceCheckUtils]: 54: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,901 INFO L290 TraceCheckUtils]: 53: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,901 INFO L290 TraceCheckUtils]: 52: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,901 INFO L272 TraceCheckUtils]: 51: Hoare triple {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,902 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14505#true} {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} #89#return; {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} is VALID [2022-04-08 06:35:57,902 INFO L290 TraceCheckUtils]: 49: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,902 INFO L290 TraceCheckUtils]: 48: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,902 INFO L290 TraceCheckUtils]: 47: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,902 INFO L272 TraceCheckUtils]: 46: Hoare triple {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,916 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14505#true} {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} #87#return; {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} is VALID [2022-04-08 06:35:57,916 INFO L290 TraceCheckUtils]: 44: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,916 INFO L290 TraceCheckUtils]: 43: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,916 INFO L290 TraceCheckUtils]: 42: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,916 INFO L272 TraceCheckUtils]: 41: Hoare triple {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,917 INFO L290 TraceCheckUtils]: 40: Hoare triple {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} assume !false; {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} is VALID [2022-04-08 06:35:57,919 INFO L290 TraceCheckUtils]: 39: Hoare triple {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15085#(or (< main_~r~0 (* main_~d~0 3)) (<= (* main_~d~0 4) main_~r~0))} is VALID [2022-04-08 06:35:57,919 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14505#true} {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} #91#return; {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} is VALID [2022-04-08 06:35:57,920 INFO L290 TraceCheckUtils]: 37: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,920 INFO L290 TraceCheckUtils]: 36: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,920 INFO L290 TraceCheckUtils]: 35: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,920 INFO L272 TraceCheckUtils]: 34: Hoare triple {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,921 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14505#true} {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} #89#return; {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} is VALID [2022-04-08 06:35:57,921 INFO L290 TraceCheckUtils]: 32: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,921 INFO L290 TraceCheckUtils]: 31: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,921 INFO L290 TraceCheckUtils]: 30: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,921 INFO L272 TraceCheckUtils]: 29: Hoare triple {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,922 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14505#true} {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} #87#return; {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} is VALID [2022-04-08 06:35:57,922 INFO L290 TraceCheckUtils]: 27: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,922 INFO L290 TraceCheckUtils]: 26: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,922 INFO L290 TraceCheckUtils]: 25: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,922 INFO L272 TraceCheckUtils]: 24: Hoare triple {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,923 INFO L290 TraceCheckUtils]: 23: Hoare triple {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} assume !false; {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} is VALID [2022-04-08 06:35:57,926 INFO L290 TraceCheckUtils]: 22: Hoare triple {15189#(<= 0 (div (+ (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 6))) (div (mod main_~A~0 4294967296) 8) 1) 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15137#(or (<= (* main_~d~0 8) main_~r~0) (< main_~r~0 (* main_~d~0 6)))} is VALID [2022-04-08 06:35:57,927 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14505#true} {15189#(<= 0 (div (+ (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 6))) (div (mod main_~A~0 4294967296) 8) 1) 4294967296))} #85#return; {15189#(<= 0 (div (+ (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 6))) (div (mod main_~A~0 4294967296) 8) 1) 4294967296))} is VALID [2022-04-08 06:35:57,927 INFO L290 TraceCheckUtils]: 20: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,927 INFO L290 TraceCheckUtils]: 19: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,927 INFO L290 TraceCheckUtils]: 18: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,927 INFO L272 TraceCheckUtils]: 17: Hoare triple {15189#(<= 0 (div (+ (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 6))) (div (mod main_~A~0 4294967296) 8) 1) 4294967296))} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,928 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14505#true} {15189#(<= 0 (div (+ (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 6))) (div (mod main_~A~0 4294967296) 8) 1) 4294967296))} #83#return; {15189#(<= 0 (div (+ (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 6))) (div (mod main_~A~0 4294967296) 8) 1) 4294967296))} is VALID [2022-04-08 06:35:57,928 INFO L290 TraceCheckUtils]: 15: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {14505#true} assume !(0 == ~cond); {14505#true} is VALID [2022-04-08 06:35:57,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {14505#true} ~cond := #in~cond; {14505#true} is VALID [2022-04-08 06:35:57,928 INFO L272 TraceCheckUtils]: 12: Hoare triple {15189#(<= 0 (div (+ (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 6))) (div (mod main_~A~0 4294967296) 8) 1) 4294967296))} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,928 INFO L290 TraceCheckUtils]: 11: Hoare triple {15189#(<= 0 (div (+ (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 6))) (div (mod main_~A~0 4294967296) 8) 1) 4294967296))} ~B~0 := #t~nondet5;havoc #t~nondet5; {15189#(<= 0 (div (+ (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 6))) (div (mod main_~A~0 4294967296) 8) 1) 4294967296))} is VALID [2022-04-08 06:35:57,930 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14535#(not (= |assume_abort_if_not_#in~cond| 0))} {14505#true} #81#return; {15189#(<= 0 (div (+ (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 6))) (div (mod main_~A~0 4294967296) 8) 1) 4294967296))} is VALID [2022-04-08 06:35:57,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {14535#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14535#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:35:57,931 INFO L290 TraceCheckUtils]: 8: Hoare triple {15235#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {14535#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:35:57,931 INFO L290 TraceCheckUtils]: 7: Hoare triple {14505#true} ~cond := #in~cond; {15235#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 06:35:57,931 INFO L272 TraceCheckUtils]: 6: Hoare triple {14505#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {14505#true} is VALID [2022-04-08 06:35:57,931 INFO L290 TraceCheckUtils]: 5: Hoare triple {14505#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; {14505#true} is VALID [2022-04-08 06:35:57,931 INFO L272 TraceCheckUtils]: 4: Hoare triple {14505#true} call #t~ret6 := main(); {14505#true} is VALID [2022-04-08 06:35:57,931 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14505#true} {14505#true} #101#return; {14505#true} is VALID [2022-04-08 06:35:57,931 INFO L290 TraceCheckUtils]: 2: Hoare triple {14505#true} assume true; {14505#true} is VALID [2022-04-08 06:35:57,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {14505#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); {14505#true} is VALID [2022-04-08 06:35:57,932 INFO L272 TraceCheckUtils]: 0: Hoare triple {14505#true} call ULTIMATE.init(); {14505#true} is VALID [2022-04-08 06:35:57,932 INFO L134 CoverageAnalysis]: Checked inductivity of 563 backedges. 36 proven. 41 refuted. 0 times theorem prover too weak. 486 trivial. 0 not checked. [2022-04-08 06:35:57,932 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:35:57,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1330404980] [2022-04-08 06:35:57,932 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:35:57,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1098270316] [2022-04-08 06:35:57,933 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1098270316] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:35:57,933 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:35:57,933 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 23 [2022-04-08 06:35:57,933 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:35:57,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1814301588] [2022-04-08 06:35:57,933 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1814301588] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:35:57,933 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:35:57,933 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 06:35:57,933 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1378719753] [2022-04-08 06:35:57,933 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:35:57,934 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) Word has length 122 [2022-04-08 06:35:57,934 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:35:57,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-08 06:35:58,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:35:58,195 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 06:35:58,195 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:35:58,195 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 06:35:58,196 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=110, Invalid=393, Unknown=3, NotChecked=0, Total=506 [2022-04-08 06:35:58,196 INFO L87 Difference]: Start difference. First operand 121 states and 136 transitions. Second operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-08 06:36:07,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:36:07,628 INFO L93 Difference]: Finished difference Result 146 states and 169 transitions. [2022-04-08 06:36:07,628 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 06:36:07,629 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) Word has length 122 [2022-04-08 06:36:07,629 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:36:07,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-08 06:36:07,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 109 transitions. [2022-04-08 06:36:07,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-08 06:36:07,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 109 transitions. [2022-04-08 06:36:07,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 109 transitions. [2022-04-08 06:36:08,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:36:08,004 INFO L225 Difference]: With dead ends: 146 [2022-04-08 06:36:08,004 INFO L226 Difference]: Without dead ends: 118 [2022-04-08 06:36:08,005 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 252 GetRequests, 222 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 134 ImplicationChecksByTransitivity, 14.3s TimeCoverageRelationStatistics Valid=226, Invalid=763, Unknown=3, NotChecked=0, Total=992 [2022-04-08 06:36:08,005 INFO L913 BasicCegarLoop]: 67 mSDtfsCounter, 26 mSDsluCounter, 262 mSDsCounter, 0 mSdLazyCounter, 360 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 329 SdHoareTripleChecker+Invalid, 417 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 360 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.9s IncrementalHoareTripleChecker+Time [2022-04-08 06:36:08,005 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 329 Invalid, 417 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 360 Invalid, 0 Unknown, 0 Unchecked, 3.9s Time] [2022-04-08 06:36:08,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2022-04-08 06:36:08,240 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 112. [2022-04-08 06:36:08,240 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:36:08,240 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand has 112 states, 69 states have (on average 1.0579710144927537) internal successors, (73), 71 states have internal predecessors, (73), 26 states have call successors, (26), 17 states have call predecessors, (26), 16 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 06:36:08,240 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand has 112 states, 69 states have (on average 1.0579710144927537) internal successors, (73), 71 states have internal predecessors, (73), 26 states have call successors, (26), 17 states have call predecessors, (26), 16 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 06:36:08,241 INFO L87 Difference]: Start difference. First operand 118 states. Second operand has 112 states, 69 states have (on average 1.0579710144927537) internal successors, (73), 71 states have internal predecessors, (73), 26 states have call successors, (26), 17 states have call predecessors, (26), 16 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 06:36:08,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:36:08,243 INFO L93 Difference]: Finished difference Result 118 states and 133 transitions. [2022-04-08 06:36:08,243 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 133 transitions. [2022-04-08 06:36:08,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:36:08,243 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:36:08,244 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 69 states have (on average 1.0579710144927537) internal successors, (73), 71 states have internal predecessors, (73), 26 states have call successors, (26), 17 states have call predecessors, (26), 16 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 118 states. [2022-04-08 06:36:08,244 INFO L87 Difference]: Start difference. First operand has 112 states, 69 states have (on average 1.0579710144927537) internal successors, (73), 71 states have internal predecessors, (73), 26 states have call successors, (26), 17 states have call predecessors, (26), 16 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 118 states. [2022-04-08 06:36:08,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:36:08,247 INFO L93 Difference]: Finished difference Result 118 states and 133 transitions. [2022-04-08 06:36:08,247 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 133 transitions. [2022-04-08 06:36:08,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:36:08,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:36:08,247 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:36:08,248 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:36:08,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 69 states have (on average 1.0579710144927537) internal successors, (73), 71 states have internal predecessors, (73), 26 states have call successors, (26), 17 states have call predecessors, (26), 16 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 06:36:08,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 123 transitions. [2022-04-08 06:36:08,251 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 123 transitions. Word has length 122 [2022-04-08 06:36:08,251 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:36:08,251 INFO L478 AbstractCegarLoop]: Abstraction has 112 states and 123 transitions. [2022-04-08 06:36:08,251 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 13 states have internal predecessors, (32), 9 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (20), 8 states have call predecessors, (20), 8 states have call successors, (20) [2022-04-08 06:36:08,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 123 transitions. [2022-04-08 06:36:08,687 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-08 06:36:08,688 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 123 transitions. [2022-04-08 06:36:08,688 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 128 [2022-04-08 06:36:08,689 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:36:08,689 INFO L499 BasicCegarLoop]: trace histogram [18, 17, 17, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:36:08,710 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-08 06:36:08,899 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 06:36:08,900 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:36:08,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:36:08,900 INFO L85 PathProgramCache]: Analyzing trace with hash -523768505, now seen corresponding path program 1 times [2022-04-08 06:36:08,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:36:08,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [575847623] [2022-04-08 06:36:08,901 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:36:08,901 INFO L85 PathProgramCache]: Analyzing trace with hash -523768505, now seen corresponding path program 2 times [2022-04-08 06:36:08,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:36:08,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1135384533] [2022-04-08 06:36:08,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:36:08,901 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:36:08,912 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:36:08,913 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [111813416] [2022-04-08 06:36:08,913 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:36:08,913 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:36:08,913 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:36:08,914 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:36:08,920 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-08 06:36:09,033 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:36:09,034 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:36:09,035 INFO L263 TraceCheckSpWp]: Trace formula consists of 279 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 06:36:09,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:36:09,061 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:36:19,414 INFO L272 TraceCheckUtils]: 0: Hoare triple {16029#true} call ULTIMATE.init(); {16029#true} is VALID [2022-04-08 06:36:19,414 INFO L290 TraceCheckUtils]: 1: Hoare triple {16029#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); {16029#true} is VALID [2022-04-08 06:36:19,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,414 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16029#true} {16029#true} #101#return; {16029#true} is VALID [2022-04-08 06:36:19,414 INFO L272 TraceCheckUtils]: 4: Hoare triple {16029#true} call #t~ret6 := main(); {16029#true} is VALID [2022-04-08 06:36:19,414 INFO L290 TraceCheckUtils]: 5: Hoare triple {16029#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; {16029#true} is VALID [2022-04-08 06:36:19,414 INFO L272 TraceCheckUtils]: 6: Hoare triple {16029#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,415 INFO L290 TraceCheckUtils]: 7: Hoare triple {16029#true} ~cond := #in~cond; {16055#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:36:19,415 INFO L290 TraceCheckUtils]: 8: Hoare triple {16055#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {16059#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:36:19,415 INFO L290 TraceCheckUtils]: 9: Hoare triple {16059#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {16059#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:36:19,416 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16059#(not (= |assume_abort_if_not_#in~cond| 0))} {16029#true} #81#return; {16066#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:36:19,416 INFO L290 TraceCheckUtils]: 11: Hoare triple {16066#(<= (mod main_~A~0 4294967296) 5)} ~B~0 := #t~nondet5;havoc #t~nondet5; {16066#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:36:19,416 INFO L272 TraceCheckUtils]: 12: Hoare triple {16066#(<= (mod main_~A~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,416 INFO L290 TraceCheckUtils]: 13: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,416 INFO L290 TraceCheckUtils]: 14: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,416 INFO L290 TraceCheckUtils]: 15: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,417 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16029#true} {16066#(<= (mod main_~A~0 4294967296) 5)} #83#return; {16066#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:36:19,417 INFO L272 TraceCheckUtils]: 17: Hoare triple {16066#(<= (mod main_~A~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,417 INFO L290 TraceCheckUtils]: 18: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,417 INFO L290 TraceCheckUtils]: 19: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,417 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16029#true} {16066#(<= (mod main_~A~0 4294967296) 5)} #85#return; {16066#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:36:19,424 INFO L290 TraceCheckUtils]: 22: Hoare triple {16066#(<= (mod main_~A~0 4294967296) 5)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-08 06:36:19,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} assume !false; {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-08 06:36:19,425 INFO L272 TraceCheckUtils]: 24: Hoare triple {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,425 INFO L290 TraceCheckUtils]: 26: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,425 INFO L290 TraceCheckUtils]: 27: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,426 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16029#true} {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} #87#return; {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-08 06:36:19,426 INFO L272 TraceCheckUtils]: 29: Hoare triple {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,426 INFO L290 TraceCheckUtils]: 30: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,426 INFO L290 TraceCheckUtils]: 31: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,426 INFO L290 TraceCheckUtils]: 32: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,426 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16029#true} {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} #89#return; {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-08 06:36:19,427 INFO L272 TraceCheckUtils]: 34: Hoare triple {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,427 INFO L290 TraceCheckUtils]: 35: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,427 INFO L290 TraceCheckUtils]: 36: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,427 INFO L290 TraceCheckUtils]: 37: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,427 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {16029#true} {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} #91#return; {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-08 06:36:19,431 INFO L290 TraceCheckUtils]: 39: Hoare triple {16103#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:36:19,431 INFO L290 TraceCheckUtils]: 40: Hoare triple {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} assume !false; {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:36:19,431 INFO L272 TraceCheckUtils]: 41: Hoare triple {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,432 INFO L290 TraceCheckUtils]: 42: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,432 INFO L290 TraceCheckUtils]: 43: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,432 INFO L290 TraceCheckUtils]: 44: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,432 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16029#true} {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} #87#return; {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:36:19,432 INFO L272 TraceCheckUtils]: 46: Hoare triple {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,432 INFO L290 TraceCheckUtils]: 47: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,432 INFO L290 TraceCheckUtils]: 48: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,433 INFO L290 TraceCheckUtils]: 49: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,433 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16029#true} {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} #89#return; {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:36:19,433 INFO L272 TraceCheckUtils]: 51: Hoare triple {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,433 INFO L290 TraceCheckUtils]: 52: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,433 INFO L290 TraceCheckUtils]: 53: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,433 INFO L290 TraceCheckUtils]: 54: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,434 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16029#true} {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} #91#return; {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} is VALID [2022-04-08 06:36:19,437 INFO L290 TraceCheckUtils]: 56: Hoare triple {16155#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-08 06:36:19,437 INFO L290 TraceCheckUtils]: 57: Hoare triple {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} assume !false; {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-08 06:36:19,437 INFO L272 TraceCheckUtils]: 58: Hoare triple {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,438 INFO L290 TraceCheckUtils]: 59: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,438 INFO L290 TraceCheckUtils]: 60: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,438 INFO L290 TraceCheckUtils]: 61: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,438 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {16029#true} {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} #87#return; {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-08 06:36:19,438 INFO L272 TraceCheckUtils]: 63: Hoare triple {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,438 INFO L290 TraceCheckUtils]: 64: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,439 INFO L290 TraceCheckUtils]: 65: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,439 INFO L290 TraceCheckUtils]: 66: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,439 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {16029#true} {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} #89#return; {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-08 06:36:19,439 INFO L272 TraceCheckUtils]: 68: Hoare triple {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,439 INFO L290 TraceCheckUtils]: 69: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,439 INFO L290 TraceCheckUtils]: 70: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,439 INFO L290 TraceCheckUtils]: 71: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,440 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16029#true} {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} #91#return; {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-08 06:36:19,442 INFO L290 TraceCheckUtils]: 73: Hoare triple {16207#(and (<= 0 main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:36:19,443 INFO L290 TraceCheckUtils]: 74: Hoare triple {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:36:19,443 INFO L272 TraceCheckUtils]: 75: Hoare triple {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,443 INFO L290 TraceCheckUtils]: 76: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,443 INFO L290 TraceCheckUtils]: 77: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,443 INFO L290 TraceCheckUtils]: 78: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,444 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16029#true} {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #87#return; {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:36:19,444 INFO L272 TraceCheckUtils]: 80: Hoare triple {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,444 INFO L290 TraceCheckUtils]: 81: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,444 INFO L290 TraceCheckUtils]: 82: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,444 INFO L290 TraceCheckUtils]: 83: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,445 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {16029#true} {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #89#return; {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:36:19,445 INFO L272 TraceCheckUtils]: 85: Hoare triple {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,445 INFO L290 TraceCheckUtils]: 86: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,445 INFO L290 TraceCheckUtils]: 87: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,445 INFO L290 TraceCheckUtils]: 88: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,445 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {16029#true} {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #91#return; {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:36:19,446 INFO L290 TraceCheckUtils]: 90: Hoare triple {16259#(and (= main_~p~0 8) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !(~r~0 >= ~d~0); {16311#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:36:19,446 INFO L290 TraceCheckUtils]: 91: Hoare triple {16311#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {16311#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:36:19,446 INFO L272 TraceCheckUtils]: 92: Hoare triple {16311#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (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)); {16029#true} is VALID [2022-04-08 06:36:19,446 INFO L290 TraceCheckUtils]: 93: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,447 INFO L290 TraceCheckUtils]: 94: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,447 INFO L290 TraceCheckUtils]: 95: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,447 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {16029#true} {16311#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #93#return; {16311#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:36:19,447 INFO L272 TraceCheckUtils]: 97: Hoare triple {16311#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,447 INFO L290 TraceCheckUtils]: 98: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,447 INFO L290 TraceCheckUtils]: 99: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,448 INFO L290 TraceCheckUtils]: 100: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,448 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {16029#true} {16311#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #95#return; {16311#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:36:19,451 INFO L290 TraceCheckUtils]: 102: Hoare triple {16311#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (<= (mod main_~r~0 4294967296) 5) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (< main_~r~0 4294967296) (<= (* (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); {16348#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:36:19,457 INFO L290 TraceCheckUtils]: 103: Hoare triple {16348#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~r~0 4294967296) 5) (< main_~r~0 4294967296) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16352#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (= main_~p~0 4) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} is VALID [2022-04-08 06:36:19,458 INFO L290 TraceCheckUtils]: 104: Hoare triple {16352#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (= main_~p~0 4) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} assume !false; {16352#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (= main_~p~0 4) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} is VALID [2022-04-08 06:36:19,458 INFO L272 TraceCheckUtils]: 105: Hoare triple {16352#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (= main_~p~0 4) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,458 INFO L290 TraceCheckUtils]: 106: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,458 INFO L290 TraceCheckUtils]: 107: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,458 INFO L290 TraceCheckUtils]: 108: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,459 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {16029#true} {16352#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (= main_~p~0 4) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} #93#return; {16352#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (= main_~p~0 4) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} is VALID [2022-04-08 06:36:19,459 INFO L272 TraceCheckUtils]: 110: Hoare triple {16352#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (= main_~p~0 4) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,459 INFO L290 TraceCheckUtils]: 111: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,459 INFO L290 TraceCheckUtils]: 112: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,459 INFO L290 TraceCheckUtils]: 113: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,460 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {16029#true} {16352#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (= main_~p~0 4) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} #95#return; {16352#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (= main_~p~0 4) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} is VALID [2022-04-08 06:36:19,464 INFO L290 TraceCheckUtils]: 115: Hoare triple {16352#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (= main_~p~0 4) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 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); {16389#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} is VALID [2022-04-08 06:36:19,465 INFO L290 TraceCheckUtils]: 116: Hoare triple {16389#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} assume !(~r~0 >= ~d~0); {16389#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} is VALID [2022-04-08 06:36:19,465 INFO L290 TraceCheckUtils]: 117: Hoare triple {16389#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} assume !false; {16389#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} is VALID [2022-04-08 06:36:19,465 INFO L272 TraceCheckUtils]: 118: Hoare triple {16389#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:19,465 INFO L290 TraceCheckUtils]: 119: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:19,465 INFO L290 TraceCheckUtils]: 120: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:19,466 INFO L290 TraceCheckUtils]: 121: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:19,466 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {16029#true} {16389#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} #93#return; {16389#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} is VALID [2022-04-08 06:36:19,467 INFO L272 TraceCheckUtils]: 123: Hoare triple {16389#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) 1) (< (div (+ (* (- 4) (mod main_~B~0 4294967296)) 5) (- 4294967296)) (+ (div (+ (- 1) (* 8 (mod main_~B~0 4294967296))) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16414#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:36:19,467 INFO L290 TraceCheckUtils]: 124: Hoare triple {16414#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16418#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:36:19,468 INFO L290 TraceCheckUtils]: 125: Hoare triple {16418#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16030#false} is VALID [2022-04-08 06:36:19,468 INFO L290 TraceCheckUtils]: 126: Hoare triple {16030#false} assume !false; {16030#false} is VALID [2022-04-08 06:36:19,468 INFO L134 CoverageAnalysis]: Checked inductivity of 631 backedges. 34 proven. 47 refuted. 0 times theorem prover too weak. 550 trivial. 0 not checked. [2022-04-08 06:36:19,468 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:36:44,653 INFO L290 TraceCheckUtils]: 126: Hoare triple {16030#false} assume !false; {16030#false} is VALID [2022-04-08 06:36:44,654 INFO L290 TraceCheckUtils]: 125: Hoare triple {16418#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16030#false} is VALID [2022-04-08 06:36:44,654 INFO L290 TraceCheckUtils]: 124: Hoare triple {16414#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16418#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:36:44,655 INFO L272 TraceCheckUtils]: 123: Hoare triple {16434#(= 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)); {16414#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:36:44,655 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {16029#true} {16434#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {16434#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:36:44,656 INFO L290 TraceCheckUtils]: 121: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,656 INFO L290 TraceCheckUtils]: 120: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,656 INFO L290 TraceCheckUtils]: 119: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,656 INFO L272 TraceCheckUtils]: 118: Hoare triple {16434#(= 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)); {16029#true} is VALID [2022-04-08 06:36:44,656 INFO L290 TraceCheckUtils]: 117: Hoare triple {16434#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {16434#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:36:44,656 INFO L290 TraceCheckUtils]: 116: Hoare triple {16434#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !(~r~0 >= ~d~0); {16434#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:36:44,674 INFO L290 TraceCheckUtils]: 115: Hoare triple {16459#(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); {16434#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:36:44,675 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {16029#true} {16459#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #95#return; {16459#(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-08 06:36:44,675 INFO L290 TraceCheckUtils]: 113: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,676 INFO L290 TraceCheckUtils]: 112: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,676 INFO L290 TraceCheckUtils]: 111: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,676 INFO L272 TraceCheckUtils]: 110: Hoare triple {16459#(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)); {16029#true} is VALID [2022-04-08 06:36:44,676 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {16029#true} {16459#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #93#return; {16459#(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-08 06:36:44,676 INFO L290 TraceCheckUtils]: 108: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,676 INFO L290 TraceCheckUtils]: 107: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,677 INFO L290 TraceCheckUtils]: 106: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,677 INFO L272 TraceCheckUtils]: 105: Hoare triple {16459#(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)); {16029#true} is VALID [2022-04-08 06:36:44,678 INFO L290 TraceCheckUtils]: 104: Hoare triple {16459#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !false; {16459#(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-08 06:36:44,682 INFO L290 TraceCheckUtils]: 103: Hoare triple {16459#(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;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16459#(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-08 06:36:44,825 INFO L290 TraceCheckUtils]: 102: Hoare triple {16499#(and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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))))} 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); {16459#(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-08 06:36:44,825 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {16029#true} {16499#(and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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))))} #95#return; {16499#(and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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))))} is VALID [2022-04-08 06:36:44,826 INFO L290 TraceCheckUtils]: 100: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,826 INFO L290 TraceCheckUtils]: 99: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,826 INFO L290 TraceCheckUtils]: 98: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,826 INFO L272 TraceCheckUtils]: 97: Hoare triple {16499#(and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,827 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {16029#true} {16499#(and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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))))} #93#return; {16499#(and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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))))} is VALID [2022-04-08 06:36:44,827 INFO L290 TraceCheckUtils]: 95: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,827 INFO L290 TraceCheckUtils]: 94: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,827 INFO L290 TraceCheckUtils]: 93: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,827 INFO L272 TraceCheckUtils]: 92: Hoare triple {16499#(and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,832 INFO L290 TraceCheckUtils]: 91: Hoare triple {16499#(and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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))))} assume !false; {16499#(and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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))))} is VALID [2022-04-08 06:36:44,836 INFO L290 TraceCheckUtils]: 90: Hoare triple {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {16499#(and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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))))} is VALID [2022-04-08 06:36:44,837 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {16029#true} {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} #91#return; {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:36:44,837 INFO L290 TraceCheckUtils]: 88: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,838 INFO L290 TraceCheckUtils]: 87: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,838 INFO L290 TraceCheckUtils]: 86: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,838 INFO L272 TraceCheckUtils]: 85: Hoare triple {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,838 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {16029#true} {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} #89#return; {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:36:44,839 INFO L290 TraceCheckUtils]: 83: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,839 INFO L290 TraceCheckUtils]: 82: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,839 INFO L290 TraceCheckUtils]: 81: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,839 INFO L272 TraceCheckUtils]: 80: Hoare triple {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,839 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16029#true} {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} #87#return; {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:36:44,840 INFO L290 TraceCheckUtils]: 78: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,840 INFO L290 TraceCheckUtils]: 77: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,840 INFO L290 TraceCheckUtils]: 76: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,840 INFO L272 TraceCheckUtils]: 75: Hoare triple {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,845 INFO L290 TraceCheckUtils]: 74: Hoare triple {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} assume !false; {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:36:44,864 INFO L290 TraceCheckUtils]: 73: Hoare triple {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16536#(or (and (or (and (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))))) (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)) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (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 (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (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)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:36:44,865 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16029#true} {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:36:44,865 INFO L290 TraceCheckUtils]: 71: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,865 INFO L290 TraceCheckUtils]: 70: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,865 INFO L290 TraceCheckUtils]: 69: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,865 INFO L272 TraceCheckUtils]: 68: Hoare triple {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,866 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {16029#true} {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:36:44,866 INFO L290 TraceCheckUtils]: 66: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,866 INFO L290 TraceCheckUtils]: 65: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,866 INFO L290 TraceCheckUtils]: 64: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,866 INFO L272 TraceCheckUtils]: 63: Hoare triple {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,867 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {16029#true} {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:36:44,867 INFO L290 TraceCheckUtils]: 61: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,867 INFO L290 TraceCheckUtils]: 60: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,867 INFO L290 TraceCheckUtils]: 59: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,867 INFO L272 TraceCheckUtils]: 58: Hoare triple {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,868 INFO L290 TraceCheckUtils]: 57: Hoare triple {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:36:44,873 INFO L290 TraceCheckUtils]: 56: Hoare triple {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (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; {16588#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:36:44,873 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16029#true} {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #91#return; {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 06:36:44,874 INFO L290 TraceCheckUtils]: 54: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,874 INFO L290 TraceCheckUtils]: 53: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,874 INFO L290 TraceCheckUtils]: 52: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,874 INFO L272 TraceCheckUtils]: 51: Hoare triple {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (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)); {16029#true} is VALID [2022-04-08 06:36:44,874 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16029#true} {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #89#return; {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 06:36:44,874 INFO L290 TraceCheckUtils]: 49: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,875 INFO L290 TraceCheckUtils]: 48: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,875 INFO L290 TraceCheckUtils]: 47: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,875 INFO L272 TraceCheckUtils]: 46: Hoare triple {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (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)); {16029#true} is VALID [2022-04-08 06:36:44,875 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16029#true} {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #87#return; {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 06:36:44,875 INFO L290 TraceCheckUtils]: 44: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,875 INFO L290 TraceCheckUtils]: 43: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,875 INFO L290 TraceCheckUtils]: 42: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,876 INFO L272 TraceCheckUtils]: 41: Hoare triple {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (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)); {16029#true} is VALID [2022-04-08 06:36:44,876 INFO L290 TraceCheckUtils]: 40: Hoare triple {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !false; {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 06:36:44,878 INFO L290 TraceCheckUtils]: 39: Hoare triple {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16640#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 06:36:44,879 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {16029#true} {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} #91#return; {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-08 06:36:44,879 INFO L290 TraceCheckUtils]: 37: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,879 INFO L290 TraceCheckUtils]: 36: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,879 INFO L290 TraceCheckUtils]: 35: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,879 INFO L272 TraceCheckUtils]: 34: Hoare triple {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,880 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16029#true} {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} #89#return; {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-08 06:36:44,880 INFO L290 TraceCheckUtils]: 32: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,880 INFO L290 TraceCheckUtils]: 31: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,880 INFO L290 TraceCheckUtils]: 30: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,880 INFO L272 TraceCheckUtils]: 29: Hoare triple {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,881 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16029#true} {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} #87#return; {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-08 06:36:44,881 INFO L290 TraceCheckUtils]: 27: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,881 INFO L290 TraceCheckUtils]: 26: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,881 INFO L272 TraceCheckUtils]: 24: Hoare triple {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,882 INFO L290 TraceCheckUtils]: 23: Hoare triple {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} assume !false; {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-08 06:36:44,882 INFO L290 TraceCheckUtils]: 22: Hoare triple {16029#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16692#(or (= (div (div (* main_~d~0 8) 2) 2) (* (div (div (* main_~p~0 8) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-08 06:36:44,882 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16029#true} {16029#true} #85#return; {16029#true} is VALID [2022-04-08 06:36:44,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,882 INFO L290 TraceCheckUtils]: 19: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,882 INFO L290 TraceCheckUtils]: 18: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,882 INFO L272 TraceCheckUtils]: 17: Hoare triple {16029#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,883 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16029#true} {16029#true} #83#return; {16029#true} is VALID [2022-04-08 06:36:44,888 INFO L290 TraceCheckUtils]: 15: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,888 INFO L290 TraceCheckUtils]: 14: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,888 INFO L290 TraceCheckUtils]: 13: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,889 INFO L272 TraceCheckUtils]: 12: Hoare triple {16029#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,889 INFO L290 TraceCheckUtils]: 11: Hoare triple {16029#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {16029#true} is VALID [2022-04-08 06:36:44,889 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16029#true} {16029#true} #81#return; {16029#true} is VALID [2022-04-08 06:36:44,889 INFO L290 TraceCheckUtils]: 9: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,889 INFO L290 TraceCheckUtils]: 8: Hoare triple {16029#true} assume !(0 == ~cond); {16029#true} is VALID [2022-04-08 06:36:44,889 INFO L290 TraceCheckUtils]: 7: Hoare triple {16029#true} ~cond := #in~cond; {16029#true} is VALID [2022-04-08 06:36:44,889 INFO L272 TraceCheckUtils]: 6: Hoare triple {16029#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {16029#true} is VALID [2022-04-08 06:36:44,889 INFO L290 TraceCheckUtils]: 5: Hoare triple {16029#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; {16029#true} is VALID [2022-04-08 06:36:44,889 INFO L272 TraceCheckUtils]: 4: Hoare triple {16029#true} call #t~ret6 := main(); {16029#true} is VALID [2022-04-08 06:36:44,889 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16029#true} {16029#true} #101#return; {16029#true} is VALID [2022-04-08 06:36:44,889 INFO L290 TraceCheckUtils]: 2: Hoare triple {16029#true} assume true; {16029#true} is VALID [2022-04-08 06:36:44,889 INFO L290 TraceCheckUtils]: 1: Hoare triple {16029#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); {16029#true} is VALID [2022-04-08 06:36:44,890 INFO L272 TraceCheckUtils]: 0: Hoare triple {16029#true} call ULTIMATE.init(); {16029#true} is VALID [2022-04-08 06:36:44,890 INFO L134 CoverageAnalysis]: Checked inductivity of 631 backedges. 34 proven. 41 refuted. 0 times theorem prover too weak. 556 trivial. 0 not checked. [2022-04-08 06:36:44,891 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:36:44,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1135384533] [2022-04-08 06:36:44,891 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:36:44,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [111813416] [2022-04-08 06:36:44,891 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [111813416] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:36:44,891 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:36:44,891 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11] total 22 [2022-04-08 06:36:44,891 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:36:44,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [575847623] [2022-04-08 06:36:44,891 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [575847623] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:36:44,891 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:36:44,892 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 06:36:44,892 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [708346944] [2022-04-08 06:36:44,892 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:36:44,892 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) Word has length 127 [2022-04-08 06:36:44,892 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:36:44,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) [2022-04-08 06:36:45,081 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-08 06:36:45,081 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 06:36:45,081 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:36:45,082 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 06:36:45,082 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=364, Unknown=0, NotChecked=0, Total=462 [2022-04-08 06:36:45,082 INFO L87 Difference]: Start difference. First operand 112 states and 123 transitions. Second operand has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) [2022-04-08 06:36:55,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:36:55,339 INFO L93 Difference]: Finished difference Result 171 states and 201 transitions. [2022-04-08 06:36:55,339 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 06:36:55,340 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) Word has length 127 [2022-04-08 06:36:55,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:36:55,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) [2022-04-08 06:36:55,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 130 transitions. [2022-04-08 06:36:55,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) [2022-04-08 06:36:55,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 130 transitions. [2022-04-08 06:36:55,345 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 130 transitions. [2022-04-08 06:36:55,711 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:36:55,714 INFO L225 Difference]: With dead ends: 171 [2022-04-08 06:36:55,714 INFO L226 Difference]: Without dead ends: 151 [2022-04-08 06:36:55,715 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 263 GetRequests, 232 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 110 ImplicationChecksByTransitivity, 5.5s TimeCoverageRelationStatistics Valid=198, Invalid=794, Unknown=0, NotChecked=0, Total=992 [2022-04-08 06:36:55,715 INFO L913 BasicCegarLoop]: 67 mSDtfsCounter, 35 mSDsluCounter, 409 mSDsCounter, 0 mSdLazyCounter, 640 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 476 SdHoareTripleChecker+Invalid, 696 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 640 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.5s IncrementalHoareTripleChecker+Time [2022-04-08 06:36:55,715 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 476 Invalid, 696 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 640 Invalid, 0 Unknown, 0 Unchecked, 3.5s Time] [2022-04-08 06:36:55,716 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-04-08 06:36:56,047 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 151. [2022-04-08 06:36:56,048 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:36:56,048 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand has 151 states, 92 states have (on average 1.065217391304348) internal successors, (98), 96 states have internal predecessors, (98), 39 states have call successors, (39), 20 states have call predecessors, (39), 19 states have return successors, (36), 34 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 06:36:56,048 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand has 151 states, 92 states have (on average 1.065217391304348) internal successors, (98), 96 states have internal predecessors, (98), 39 states have call successors, (39), 20 states have call predecessors, (39), 19 states have return successors, (36), 34 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 06:36:56,048 INFO L87 Difference]: Start difference. First operand 151 states. Second operand has 151 states, 92 states have (on average 1.065217391304348) internal successors, (98), 96 states have internal predecessors, (98), 39 states have call successors, (39), 20 states have call predecessors, (39), 19 states have return successors, (36), 34 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 06:36:56,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:36:56,052 INFO L93 Difference]: Finished difference Result 151 states and 173 transitions. [2022-04-08 06:36:56,052 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 173 transitions. [2022-04-08 06:36:56,053 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:36:56,053 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:36:56,054 INFO L74 IsIncluded]: Start isIncluded. First operand has 151 states, 92 states have (on average 1.065217391304348) internal successors, (98), 96 states have internal predecessors, (98), 39 states have call successors, (39), 20 states have call predecessors, (39), 19 states have return successors, (36), 34 states have call predecessors, (36), 36 states have call successors, (36) Second operand 151 states. [2022-04-08 06:36:56,054 INFO L87 Difference]: Start difference. First operand has 151 states, 92 states have (on average 1.065217391304348) internal successors, (98), 96 states have internal predecessors, (98), 39 states have call successors, (39), 20 states have call predecessors, (39), 19 states have return successors, (36), 34 states have call predecessors, (36), 36 states have call successors, (36) Second operand 151 states. [2022-04-08 06:36:56,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:36:56,057 INFO L93 Difference]: Finished difference Result 151 states and 173 transitions. [2022-04-08 06:36:56,057 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 173 transitions. [2022-04-08 06:36:56,058 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:36:56,058 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:36:56,058 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:36:56,058 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:36:56,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 151 states, 92 states have (on average 1.065217391304348) internal successors, (98), 96 states have internal predecessors, (98), 39 states have call successors, (39), 20 states have call predecessors, (39), 19 states have return successors, (36), 34 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 06:36:56,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 151 states to 151 states and 173 transitions. [2022-04-08 06:36:56,063 INFO L78 Accepts]: Start accepts. Automaton has 151 states and 173 transitions. Word has length 127 [2022-04-08 06:36:56,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:36:56,063 INFO L478 AbstractCegarLoop]: Abstraction has 151 states and 173 transitions. [2022-04-08 06:36:56,063 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 9 states have call predecessors, (21), 9 states have call successors, (21) [2022-04-08 06:36:56,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 151 states and 173 transitions. [2022-04-08 06:36:56,862 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:36:56,863 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 173 transitions. [2022-04-08 06:36:56,863 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-08 06:36:56,863 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:36:56,864 INFO L499 BasicCegarLoop]: trace histogram [19, 18, 18, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:36:56,881 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-08 06:36:57,064 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:36:57,064 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:36:57,065 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:36:57,065 INFO L85 PathProgramCache]: Analyzing trace with hash -1932789221, now seen corresponding path program 3 times [2022-04-08 06:36:57,065 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:36:57,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [825106610] [2022-04-08 06:36:57,065 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:36:57,065 INFO L85 PathProgramCache]: Analyzing trace with hash -1932789221, now seen corresponding path program 4 times [2022-04-08 06:36:57,066 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:36:57,066 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [716235120] [2022-04-08 06:36:57,066 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:36:57,066 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:36:57,077 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:36:57,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [548131711] [2022-04-08 06:36:57,078 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:36:57,078 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:36:57,078 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:36:57,079 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:36:57,080 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-08 06:36:57,157 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:36:57,157 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:36:57,159 INFO L263 TraceCheckSpWp]: Trace formula consists of 299 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-08 06:36:57,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:36:57,191 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:37:24,725 INFO L272 TraceCheckUtils]: 0: Hoare triple {17778#true} call ULTIMATE.init(); {17778#true} is VALID [2022-04-08 06:37:24,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {17778#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); {17778#true} is VALID [2022-04-08 06:37:24,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,726 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17778#true} {17778#true} #101#return; {17778#true} is VALID [2022-04-08 06:37:24,726 INFO L272 TraceCheckUtils]: 4: Hoare triple {17778#true} call #t~ret6 := main(); {17778#true} is VALID [2022-04-08 06:37:24,726 INFO L290 TraceCheckUtils]: 5: Hoare triple {17778#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; {17778#true} is VALID [2022-04-08 06:37:24,726 INFO L272 TraceCheckUtils]: 6: Hoare triple {17778#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {17778#true} ~cond := #in~cond; {17804#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:37:24,728 INFO L290 TraceCheckUtils]: 8: Hoare triple {17804#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {17808#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:37:24,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {17808#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {17808#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:37:24,729 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17808#(not (= |assume_abort_if_not_#in~cond| 0))} {17778#true} #81#return; {17815#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:37:24,729 INFO L290 TraceCheckUtils]: 11: Hoare triple {17815#(<= (mod main_~A~0 4294967296) 5)} ~B~0 := #t~nondet5;havoc #t~nondet5; {17815#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:37:24,729 INFO L272 TraceCheckUtils]: 12: Hoare triple {17815#(<= (mod main_~A~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,730 INFO L290 TraceCheckUtils]: 13: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,730 INFO L290 TraceCheckUtils]: 14: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,730 INFO L290 TraceCheckUtils]: 15: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,730 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17778#true} {17815#(<= (mod main_~A~0 4294967296) 5)} #83#return; {17815#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:37:24,730 INFO L272 TraceCheckUtils]: 17: Hoare triple {17815#(<= (mod main_~A~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,731 INFO L290 TraceCheckUtils]: 18: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,731 INFO L290 TraceCheckUtils]: 19: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,731 INFO L290 TraceCheckUtils]: 20: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,731 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17778#true} {17815#(<= (mod main_~A~0 4294967296) 5)} #85#return; {17815#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-08 06:37:24,732 INFO L290 TraceCheckUtils]: 22: Hoare triple {17815#(<= (mod main_~A~0 4294967296) 5)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:37:24,733 INFO L290 TraceCheckUtils]: 23: Hoare triple {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:37:24,733 INFO L272 TraceCheckUtils]: 24: Hoare triple {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,733 INFO L290 TraceCheckUtils]: 25: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,733 INFO L290 TraceCheckUtils]: 26: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,733 INFO L290 TraceCheckUtils]: 27: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,734 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17778#true} {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:37:24,734 INFO L272 TraceCheckUtils]: 29: Hoare triple {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,734 INFO L290 TraceCheckUtils]: 30: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,735 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17778#true} {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:37:24,735 INFO L272 TraceCheckUtils]: 34: Hoare triple {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,735 INFO L290 TraceCheckUtils]: 35: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,735 INFO L290 TraceCheckUtils]: 36: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,735 INFO L290 TraceCheckUtils]: 37: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,736 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {17778#true} {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:37:24,739 INFO L290 TraceCheckUtils]: 39: Hoare triple {17852#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:37:24,740 INFO L290 TraceCheckUtils]: 40: Hoare triple {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:37:24,740 INFO L272 TraceCheckUtils]: 41: Hoare triple {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,740 INFO L290 TraceCheckUtils]: 42: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,740 INFO L290 TraceCheckUtils]: 43: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,741 INFO L290 TraceCheckUtils]: 44: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,741 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {17778#true} {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:37:24,741 INFO L272 TraceCheckUtils]: 46: Hoare triple {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= 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)); {17778#true} is VALID [2022-04-08 06:37:24,741 INFO L290 TraceCheckUtils]: 47: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,741 INFO L290 TraceCheckUtils]: 48: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,741 INFO L290 TraceCheckUtils]: 49: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,742 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17778#true} {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:37:24,742 INFO L272 TraceCheckUtils]: 51: Hoare triple {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= 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)); {17778#true} is VALID [2022-04-08 06:37:24,742 INFO L290 TraceCheckUtils]: 52: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,742 INFO L290 TraceCheckUtils]: 53: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,742 INFO L290 TraceCheckUtils]: 54: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,743 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {17778#true} {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:37:24,746 INFO L290 TraceCheckUtils]: 56: Hoare triple {17904#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:37:24,746 INFO L290 TraceCheckUtils]: 57: Hoare triple {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:37:24,747 INFO L272 TraceCheckUtils]: 58: Hoare triple {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,747 INFO L290 TraceCheckUtils]: 59: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,747 INFO L290 TraceCheckUtils]: 60: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,747 INFO L290 TraceCheckUtils]: 61: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,747 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {17778#true} {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:37:24,747 INFO L272 TraceCheckUtils]: 63: Hoare triple {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,748 INFO L290 TraceCheckUtils]: 64: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,748 INFO L290 TraceCheckUtils]: 65: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,748 INFO L290 TraceCheckUtils]: 66: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,748 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {17778#true} {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:37:24,748 INFO L272 TraceCheckUtils]: 68: Hoare triple {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,748 INFO L290 TraceCheckUtils]: 69: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,748 INFO L290 TraceCheckUtils]: 70: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,748 INFO L290 TraceCheckUtils]: 71: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,749 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {17778#true} {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:37:24,752 INFO L290 TraceCheckUtils]: 73: Hoare triple {17956#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:37:24,752 INFO L290 TraceCheckUtils]: 74: Hoare triple {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:37:24,752 INFO L272 TraceCheckUtils]: 75: Hoare triple {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,752 INFO L290 TraceCheckUtils]: 76: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,752 INFO L290 TraceCheckUtils]: 77: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,752 INFO L290 TraceCheckUtils]: 78: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,753 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {17778#true} {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #87#return; {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:37:24,753 INFO L272 TraceCheckUtils]: 80: Hoare triple {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= 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)); {17778#true} is VALID [2022-04-08 06:37:24,753 INFO L290 TraceCheckUtils]: 81: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,753 INFO L290 TraceCheckUtils]: 82: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,753 INFO L290 TraceCheckUtils]: 83: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,754 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {17778#true} {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #89#return; {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:37:24,754 INFO L272 TraceCheckUtils]: 85: Hoare triple {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= 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)); {17778#true} is VALID [2022-04-08 06:37:24,754 INFO L290 TraceCheckUtils]: 86: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,754 INFO L290 TraceCheckUtils]: 87: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,754 INFO L290 TraceCheckUtils]: 88: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,755 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {17778#true} {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #91#return; {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:37:24,755 INFO L290 TraceCheckUtils]: 90: Hoare triple {18008#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !(~r~0 >= ~d~0); {18060#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:37:24,756 INFO L290 TraceCheckUtils]: 91: Hoare triple {18060#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {18060#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:37:24,756 INFO L272 TraceCheckUtils]: 92: Hoare triple {18060#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= 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)); {17778#true} is VALID [2022-04-08 06:37:24,756 INFO L290 TraceCheckUtils]: 93: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,756 INFO L290 TraceCheckUtils]: 94: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,756 INFO L290 TraceCheckUtils]: 95: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,756 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {17778#true} {18060#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #93#return; {18060#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:37:24,756 INFO L272 TraceCheckUtils]: 97: Hoare triple {18060#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= 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)); {17778#true} is VALID [2022-04-08 06:37:24,757 INFO L290 TraceCheckUtils]: 98: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,757 INFO L290 TraceCheckUtils]: 99: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,757 INFO L290 TraceCheckUtils]: 100: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,757 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {17778#true} {18060#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #95#return; {18060#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:37:24,761 INFO L290 TraceCheckUtils]: 102: Hoare triple {18060#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (mod main_~A~0 4294967296) 5) (= 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); {18097#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 06:37:24,762 INFO L290 TraceCheckUtils]: 103: Hoare triple {18097#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18101#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~p~0 4))} is VALID [2022-04-08 06:37:24,763 INFO L290 TraceCheckUtils]: 104: Hoare triple {18101#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~p~0 4))} assume !false; {18101#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~p~0 4))} is VALID [2022-04-08 06:37:24,763 INFO L272 TraceCheckUtils]: 105: Hoare triple {18101#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,763 INFO L290 TraceCheckUtils]: 106: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,763 INFO L290 TraceCheckUtils]: 107: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,763 INFO L290 TraceCheckUtils]: 108: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,764 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {17778#true} {18101#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~p~0 4))} #93#return; {18101#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~p~0 4))} is VALID [2022-04-08 06:37:24,764 INFO L272 TraceCheckUtils]: 110: Hoare triple {18101#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,764 INFO L290 TraceCheckUtils]: 111: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,764 INFO L290 TraceCheckUtils]: 112: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,764 INFO L290 TraceCheckUtils]: 113: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,765 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {17778#true} {18101#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~p~0 4))} #95#return; {18101#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~p~0 4))} is VALID [2022-04-08 06:37:24,766 INFO L290 TraceCheckUtils]: 115: Hoare triple {18101#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= 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); {18138#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (= main_~p~0 2) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4))} is VALID [2022-04-08 06:37:24,767 INFO L290 TraceCheckUtils]: 116: Hoare triple {18138#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (= main_~p~0 2) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4))} assume !(~r~0 >= ~d~0); {18138#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (= main_~p~0 2) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4))} is VALID [2022-04-08 06:37:24,768 INFO L290 TraceCheckUtils]: 117: Hoare triple {18138#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (= main_~p~0 2) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4))} assume !false; {18138#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (= main_~p~0 2) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4))} is VALID [2022-04-08 06:37:24,768 INFO L272 TraceCheckUtils]: 118: Hoare triple {18138#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (= main_~p~0 2) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,768 INFO L290 TraceCheckUtils]: 119: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,768 INFO L290 TraceCheckUtils]: 120: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,768 INFO L290 TraceCheckUtils]: 121: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,768 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {17778#true} {18138#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (= main_~p~0 2) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4))} #93#return; {18138#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (= main_~p~0 2) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4))} is VALID [2022-04-08 06:37:24,769 INFO L272 TraceCheckUtils]: 123: Hoare triple {18138#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (= main_~p~0 2) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {17778#true} is VALID [2022-04-08 06:37:24,769 INFO L290 TraceCheckUtils]: 124: Hoare triple {17778#true} ~cond := #in~cond; {17778#true} is VALID [2022-04-08 06:37:24,769 INFO L290 TraceCheckUtils]: 125: Hoare triple {17778#true} assume !(0 == ~cond); {17778#true} is VALID [2022-04-08 06:37:24,769 INFO L290 TraceCheckUtils]: 126: Hoare triple {17778#true} assume true; {17778#true} is VALID [2022-04-08 06:37:24,769 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {17778#true} {18138#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (= main_~p~0 2) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4))} #95#return; {18138#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (= main_~p~0 2) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4))} is VALID [2022-04-08 06:37:24,776 INFO L290 TraceCheckUtils]: 128: Hoare triple {18138#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (= main_~p~0 2) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {18178#(and (= main_~d~0 (div (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2) 2)) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4) (= main_~p~0 1))} is VALID [2022-04-08 06:37:24,779 INFO L290 TraceCheckUtils]: 129: Hoare triple {18178#(and (= main_~d~0 (div (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2) 2)) (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 4) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18182#(and (= 5 main_~q~0) (<= 0 main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= (mod main_~A~0 4294967296) (+ (* 5 (mod main_~B~0 4294967296)) main_~r~0)) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:37:24,780 INFO L290 TraceCheckUtils]: 130: Hoare triple {18182#(and (= 5 main_~q~0) (<= 0 main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= (mod main_~A~0 4294967296) (+ (* 5 (mod main_~B~0 4294967296)) main_~r~0)) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} assume !false; {18182#(and (= 5 main_~q~0) (<= 0 main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= (mod main_~A~0 4294967296) (+ (* 5 (mod main_~B~0 4294967296)) main_~r~0)) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:37:24,781 INFO L272 TraceCheckUtils]: 131: Hoare triple {18182#(and (= 5 main_~q~0) (<= 0 main_~r~0) (<= (mod main_~A~0 4294967296) 5) (= (mod main_~A~0 4294967296) (+ (* 5 (mod main_~B~0 4294967296)) main_~r~0)) (< (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)); {18189#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:37:24,781 INFO L290 TraceCheckUtils]: 132: Hoare triple {18189#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18193#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:37:24,781 INFO L290 TraceCheckUtils]: 133: Hoare triple {18193#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17779#false} is VALID [2022-04-08 06:37:24,781 INFO L290 TraceCheckUtils]: 134: Hoare triple {17779#false} assume !false; {17779#false} is VALID [2022-04-08 06:37:24,782 INFO L134 CoverageAnalysis]: Checked inductivity of 711 backedges. 36 proven. 57 refuted. 0 times theorem prover too weak. 618 trivial. 0 not checked. [2022-04-08 06:37:24,782 INFO L328 TraceCheckSpWp]: Computing backward predicates...