/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/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:22:19,312 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:22:19,325 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:22:19,364 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:22:19,364 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:22:19,365 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:22:19,366 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:22:19,367 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:22:19,368 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:22:19,369 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:22:19,369 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:22:19,370 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:22:19,370 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:22:19,371 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:22:19,371 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:22:19,372 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:22:19,372 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:22:19,373 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:22:19,374 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:22:19,375 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:22:19,379 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:22:19,383 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:22:19,387 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:22:19,389 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:22:19,391 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:22:19,397 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:22:19,397 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:22:19,398 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:22:19,398 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:22:19,398 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:22:19,399 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:22:19,399 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:22:19,399 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:22:19,400 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:22:19,400 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:22:19,401 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:22:19,401 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:22:19,401 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:22:19,401 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:22:19,402 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:22:19,402 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:22:19,407 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:22:19,408 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 13:22:19,421 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:22:19,422 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:22:19,422 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:22:19,422 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:22:19,422 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:22:19,422 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:22:19,423 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:22:19,423 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:22:19,423 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:22:19,423 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:22:19,423 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:22:19,423 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:22:19,423 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:22:19,423 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:22:19,423 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:22:19,424 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:22:19,424 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:22:19,424 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:22:19,424 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:22:19,424 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:22:19,424 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:22:19,424 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:22:19,424 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:22:19,424 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:22:19,424 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:22:19,424 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:22:19,424 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:22:19,425 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:22:19,425 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:22:19,425 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:22:19,425 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:22:19,425 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:22:19,425 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:22:19,425 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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-27 13:22:19,591 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:22:19,608 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:22:19,610 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:22:19,611 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:22:19,612 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:22:19,612 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound5.c [2022-04-27 13:22:19,655 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/be121b906/cf31832fa8dc46da8a4fc9216d1bd5db/FLAGe4b445dc0 [2022-04-27 13:22:20,034 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:22:20,035 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound5.c [2022-04-27 13:22:20,041 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/be121b906/cf31832fa8dc46da8a4fc9216d1bd5db/FLAGe4b445dc0 [2022-04-27 13:22:20,051 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/be121b906/cf31832fa8dc46da8a4fc9216d1bd5db [2022-04-27 13:22:20,053 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:22:20,054 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:22:20,056 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:22:20,056 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:22:20,058 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:22:20,062 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,063 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@85ebb00 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20, skipping insertion in model container [2022-04-27 13:22:20,063 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,067 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:22:20,077 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:22:20,217 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_unwindbound5.c[538,551] [2022-04-27 13:22:20,243 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:22:20,252 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:22:20,262 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_unwindbound5.c[538,551] [2022-04-27 13:22:20,278 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:22:20,288 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:22:20,289 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20 WrapperNode [2022-04-27 13:22:20,289 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:22:20,289 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:22:20,289 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:22:20,289 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:22:20,298 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,298 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,303 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,303 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,315 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,321 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,328 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,329 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:22:20,330 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:22:20,330 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:22:20,330 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:22:20,331 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,336 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:22:20,343 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:20,365 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-27 13:22:20,387 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-27 13:22:20,394 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:22:20,395 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:22:20,395 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:22:20,395 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:22:20,396 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:22:20,396 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:22:20,396 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:22:20,396 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:22:20,396 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:22:20,396 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:22:20,397 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-27 13:22:20,397 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:22:20,397 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:22:20,397 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:22:20,397 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:22:20,397 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:22:20,397 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:22:20,397 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:22:20,397 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:22:20,397 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:22:20,442 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:22:20,443 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:22:20,565 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:22:20,570 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:22:20,570 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:22:20,571 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:22:20 BoogieIcfgContainer [2022-04-27 13:22:20,571 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:22:20,572 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:22:20,572 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:22:20,575 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:22:20,575 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:22:20" (1/3) ... [2022-04-27 13:22:20,575 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6218f39a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:22:20, skipping insertion in model container [2022-04-27 13:22:20,575 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (2/3) ... [2022-04-27 13:22:20,575 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6218f39a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:22:20, skipping insertion in model container [2022-04-27 13:22:20,576 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:22:20" (3/3) ... [2022-04-27 13:22:20,576 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_unwindbound5.c [2022-04-27 13:22:20,593 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:22:20,593 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:22:20,621 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:22:20,626 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@52c8bae1, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@62f5523b [2022-04-27 13:22:20,626 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:22:20,631 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:20,636 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-27 13:22:20,636 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:20,636 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:20,637 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:20,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:20,640 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 1 times [2022-04-27 13:22:20,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:20,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1357793760] [2022-04-27 13:22:20,646 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:20,656 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:20,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:20,813 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:20,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:20,843 INFO L290 TraceCheckUtils]: 0: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-27 13:22:20,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-27 13:22:20,843 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-27 13:22:20,844 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:20,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:20,861 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 13:22:20,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 13:22:20,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 13:22:20,864 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-27 13:22:20,865 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:22:20,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-27 13:22:20,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-27 13:22:20,865 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-27 13:22:20,865 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret8 := main(); {40#true} is VALID [2022-04-27 13:22:20,866 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-27 13:22:20,866 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-27 13:22:20,866 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 13:22:20,867 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 13:22:20,867 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 13:22:20,867 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-27 13:22:20,867 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {41#false} is VALID [2022-04-27 13:22:20,868 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-27 13:22:20,868 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-27 13:22:20,868 INFO L272 TraceCheckUtils]: 14: Hoare triple {41#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {41#false} is VALID [2022-04-27 13:22:20,869 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-27 13:22:20,869 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-27 13:22:20,870 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-27 13:22:20,870 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:22:20,870 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:20,871 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1357793760] [2022-04-27 13:22:20,872 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1357793760] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:20,873 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:20,873 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:22:20,874 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1217790921] [2022-04-27 13:22:20,875 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:20,880 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-27 13:22:20,882 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:20,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:20,914 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:20,914 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:22:20,915 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:20,935 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:22:20,937 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:22:20,940 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:21,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:21,114 INFO L93 Difference]: Finished difference Result 66 states and 101 transitions. [2022-04-27 13:22:21,114 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:22:21,114 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-27 13:22:21,114 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:21,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:21,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-27 13:22:21,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:21,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-27 13:22:21,137 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 101 transitions. [2022-04-27 13:22:21,240 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:21,249 INFO L225 Difference]: With dead ends: 66 [2022-04-27 13:22:21,250 INFO L226 Difference]: Without dead ends: 33 [2022-04-27 13:22:21,252 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:22:21,255 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 33 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:21,257 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 49 Invalid, 33 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:21,268 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-27 13:22:21,281 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2022-04-27 13:22:21,281 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:21,282 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:21,283 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:21,285 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:21,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:21,289 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:22:21,289 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:22:21,289 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:21,289 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:21,290 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-27 13:22:21,290 INFO L87 Difference]: Start difference. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-27 13:22:21,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:21,292 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:22:21,292 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:22:21,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:21,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:21,293 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:21,293 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:21,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:21,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-27 13:22:21,297 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 18 [2022-04-27 13:22:21,297 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:21,297 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-27 13:22:21,298 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:21,298 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-27 13:22:21,298 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-27 13:22:21,298 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:21,299 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:21,299 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:22:21,299 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:21,300 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:21,300 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 1 times [2022-04-27 13:22:21,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:21,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1958822849] [2022-04-27 13:22:21,300 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:21,301 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:21,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,411 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:21,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,419 INFO L290 TraceCheckUtils]: 0: Hoare triple {268#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {256#true} is VALID [2022-04-27 13:22:21,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 13:22:21,420 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {256#true} {256#true} #96#return; {256#true} is VALID [2022-04-27 13:22:21,420 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:21,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,425 INFO L290 TraceCheckUtils]: 0: Hoare triple {256#true} ~cond := #in~cond; {256#true} is VALID [2022-04-27 13:22:21,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {256#true} assume !(0 == ~cond); {256#true} is VALID [2022-04-27 13:22:21,426 INFO L290 TraceCheckUtils]: 2: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 13:22:21,426 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {256#true} {256#true} #80#return; {256#true} is VALID [2022-04-27 13:22:21,427 INFO L272 TraceCheckUtils]: 0: Hoare triple {256#true} call ULTIMATE.init(); {268#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:22:21,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {268#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {256#true} is VALID [2022-04-27 13:22:21,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 13:22:21,427 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {256#true} {256#true} #96#return; {256#true} is VALID [2022-04-27 13:22:21,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {256#true} call #t~ret8 := main(); {256#true} is VALID [2022-04-27 13:22:21,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {256#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {256#true} is VALID [2022-04-27 13:22:21,428 INFO L272 TraceCheckUtils]: 6: Hoare triple {256#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {256#true} is VALID [2022-04-27 13:22:21,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {256#true} ~cond := #in~cond; {256#true} is VALID [2022-04-27 13:22:21,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {256#true} assume !(0 == ~cond); {256#true} is VALID [2022-04-27 13:22:21,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 13:22:21,429 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {256#true} {256#true} #80#return; {256#true} is VALID [2022-04-27 13:22:21,429 INFO L290 TraceCheckUtils]: 11: Hoare triple {256#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {265#(= main_~q~0 0)} is VALID [2022-04-27 13:22:21,430 INFO L290 TraceCheckUtils]: 12: Hoare triple {265#(= main_~q~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {265#(= main_~q~0 0)} is VALID [2022-04-27 13:22:21,430 INFO L290 TraceCheckUtils]: 13: Hoare triple {265#(= main_~q~0 0)} assume !!(#t~post6 < 5);havoc #t~post6; {265#(= main_~q~0 0)} is VALID [2022-04-27 13:22:21,431 INFO L272 TraceCheckUtils]: 14: Hoare triple {265#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {266#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:21,432 INFO L290 TraceCheckUtils]: 15: Hoare triple {266#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {267#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:22:21,432 INFO L290 TraceCheckUtils]: 16: Hoare triple {267#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {257#false} is VALID [2022-04-27 13:22:21,432 INFO L290 TraceCheckUtils]: 17: Hoare triple {257#false} assume !false; {257#false} is VALID [2022-04-27 13:22:21,432 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:22:21,433 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:21,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1958822849] [2022-04-27 13:22:21,433 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1958822849] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:21,433 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:21,433 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:21,433 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1446563652] [2022-04-27 13:22:21,434 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:21,435 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-27 13:22:21,435 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:21,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:21,451 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:21,452 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:21,452 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:21,453 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:21,453 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:21,454 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:21,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:21,779 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-27 13:22:21,779 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:22:21,779 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-27 13:22:21,780 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:21,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:21,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:22:21,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:21,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:22:21,786 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-27 13:22:21,838 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-27 13:22:21,840 INFO L225 Difference]: With dead ends: 47 [2022-04-27 13:22:21,841 INFO L226 Difference]: Without dead ends: 45 [2022-04-27 13:22:21,843 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:21,845 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 28 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 99 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 90 SdHoareTripleChecker+Invalid, 113 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 99 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:21,845 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 90 Invalid, 113 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 99 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:21,847 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-27 13:22:21,854 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 36. [2022-04-27 13:22:21,854 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:21,855 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:21,855 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:21,857 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:21,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:21,865 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-27 13:22:21,865 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-27 13:22:21,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:21,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:21,870 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-27 13:22:21,870 INFO L87 Difference]: Start difference. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-27 13:22:21,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:21,876 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-27 13:22:21,876 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-27 13:22:21,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:21,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:21,877 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:21,878 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:21,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:21,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 45 transitions. [2022-04-27 13:22:21,881 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 45 transitions. Word has length 18 [2022-04-27 13:22:21,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:21,882 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 45 transitions. [2022-04-27 13:22:21,882 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:21,882 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 45 transitions. [2022-04-27 13:22:21,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-27 13:22:21,883 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:21,883 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:21,884 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:22:21,884 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:21,885 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:21,885 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 1 times [2022-04-27 13:22:21,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:21,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1939811977] [2022-04-27 13:22:21,886 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:21,886 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:21,904 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:21,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1616088357] [2022-04-27 13:22:21,904 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:21,905 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:21,905 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:21,907 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-27 13:22:21,910 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-27 13:22:21,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,952 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 13:22:21,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,977 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:22,101 INFO L272 TraceCheckUtils]: 0: Hoare triple {489#true} call ULTIMATE.init(); {489#true} is VALID [2022-04-27 13:22:22,102 INFO L290 TraceCheckUtils]: 1: Hoare triple {489#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,103 INFO L290 TraceCheckUtils]: 2: Hoare triple {497#(<= ~counter~0 0)} assume true; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,104 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {497#(<= ~counter~0 0)} {489#true} #96#return; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,104 INFO L272 TraceCheckUtils]: 4: Hoare triple {497#(<= ~counter~0 0)} call #t~ret8 := main(); {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,105 INFO L290 TraceCheckUtils]: 5: Hoare triple {497#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,105 INFO L272 TraceCheckUtils]: 6: Hoare triple {497#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {497#(<= ~counter~0 0)} ~cond := #in~cond; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,106 INFO L290 TraceCheckUtils]: 8: Hoare triple {497#(<= ~counter~0 0)} assume !(0 == ~cond); {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,106 INFO L290 TraceCheckUtils]: 9: Hoare triple {497#(<= ~counter~0 0)} assume true; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,107 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {497#(<= ~counter~0 0)} {497#(<= ~counter~0 0)} #80#return; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,107 INFO L290 TraceCheckUtils]: 11: Hoare triple {497#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,108 INFO L290 TraceCheckUtils]: 12: Hoare triple {497#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {531#(<= |main_#t~post6| 0)} is VALID [2022-04-27 13:22:22,109 INFO L290 TraceCheckUtils]: 13: Hoare triple {531#(<= |main_#t~post6| 0)} assume !(#t~post6 < 5);havoc #t~post6; {490#false} is VALID [2022-04-27 13:22:22,109 INFO L290 TraceCheckUtils]: 14: Hoare triple {490#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {490#false} is VALID [2022-04-27 13:22:22,109 INFO L290 TraceCheckUtils]: 15: Hoare triple {490#false} assume !(#t~post7 < 5);havoc #t~post7; {490#false} is VALID [2022-04-27 13:22:22,109 INFO L272 TraceCheckUtils]: 16: Hoare triple {490#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {490#false} is VALID [2022-04-27 13:22:22,109 INFO L290 TraceCheckUtils]: 17: Hoare triple {490#false} ~cond := #in~cond; {490#false} is VALID [2022-04-27 13:22:22,109 INFO L290 TraceCheckUtils]: 18: Hoare triple {490#false} assume 0 == ~cond; {490#false} is VALID [2022-04-27 13:22:22,110 INFO L290 TraceCheckUtils]: 19: Hoare triple {490#false} assume !false; {490#false} is VALID [2022-04-27 13:22:22,110 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:22:22,110 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:22,110 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:22,110 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1939811977] [2022-04-27 13:22:22,110 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:22,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1616088357] [2022-04-27 13:22:22,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1616088357] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:22,111 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:22,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 13:22:22,111 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [56199153] [2022-04-27 13:22:22,111 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:22,112 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-27 13:22:22,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:22,112 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:22,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:22,139 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-27 13:22:22,139 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:22,140 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-27 13:22:22,140 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 13:22:22,140 INFO L87 Difference]: Start difference. First operand 36 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:22,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:22,242 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-04-27 13:22:22,242 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 13:22:22,243 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-27 13:22:22,244 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:22,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:22,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-27 13:22:22,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:22,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-27 13:22:22,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 64 transitions. [2022-04-27 13:22:22,317 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:22,320 INFO L225 Difference]: With dead ends: 52 [2022-04-27 13:22:22,320 INFO L226 Difference]: Without dead ends: 38 [2022-04-27 13:22:22,320 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 13:22:22,322 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 0 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:22,323 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 107 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:22,324 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-27 13:22:22,335 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-27 13:22:22,335 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:22,336 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:22,337 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:22,337 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:22,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:22,338 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-27 13:22:22,338 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-27 13:22:22,338 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:22,338 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:22,339 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-27 13:22:22,339 INFO L87 Difference]: Start difference. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-27 13:22:22,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:22,342 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-27 13:22:22,342 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-27 13:22:22,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:22,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:22,343 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:22,343 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:22,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:22,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 47 transitions. [2022-04-27 13:22:22,344 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 47 transitions. Word has length 20 [2022-04-27 13:22:22,344 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:22,345 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 47 transitions. [2022-04-27 13:22:22,345 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:22,345 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-27 13:22:22,345 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 13:22:22,345 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:22,345 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:22,364 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-27 13:22:22,555 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:22,556 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:22,556 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:22,556 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 1 times [2022-04-27 13:22:22,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:22,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [294049370] [2022-04-27 13:22:22,556 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:22,556 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:22,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:22,610 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:22,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:22,615 INFO L290 TraceCheckUtils]: 0: Hoare triple {773#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {757#true} is VALID [2022-04-27 13:22:22,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:22,615 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {757#true} {757#true} #96#return; {757#true} is VALID [2022-04-27 13:22:22,615 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:22,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:22,618 INFO L290 TraceCheckUtils]: 0: Hoare triple {757#true} ~cond := #in~cond; {757#true} is VALID [2022-04-27 13:22:22,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {757#true} assume !(0 == ~cond); {757#true} is VALID [2022-04-27 13:22:22,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:22,619 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {757#true} {757#true} #80#return; {757#true} is VALID [2022-04-27 13:22:22,619 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-27 13:22:22,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:22,624 INFO L290 TraceCheckUtils]: 0: Hoare triple {757#true} ~cond := #in~cond; {757#true} is VALID [2022-04-27 13:22:22,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {757#true} assume !(0 == ~cond); {757#true} is VALID [2022-04-27 13:22:22,624 INFO L290 TraceCheckUtils]: 2: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:22,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {757#true} {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:22,625 INFO L272 TraceCheckUtils]: 0: Hoare triple {757#true} call ULTIMATE.init(); {773#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:22:22,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {773#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {757#true} is VALID [2022-04-27 13:22:22,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:22,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {757#true} {757#true} #96#return; {757#true} is VALID [2022-04-27 13:22:22,626 INFO L272 TraceCheckUtils]: 4: Hoare triple {757#true} call #t~ret8 := main(); {757#true} is VALID [2022-04-27 13:22:22,626 INFO L290 TraceCheckUtils]: 5: Hoare triple {757#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {757#true} is VALID [2022-04-27 13:22:22,626 INFO L272 TraceCheckUtils]: 6: Hoare triple {757#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {757#true} is VALID [2022-04-27 13:22:22,626 INFO L290 TraceCheckUtils]: 7: Hoare triple {757#true} ~cond := #in~cond; {757#true} is VALID [2022-04-27 13:22:22,626 INFO L290 TraceCheckUtils]: 8: Hoare triple {757#true} assume !(0 == ~cond); {757#true} is VALID [2022-04-27 13:22:22,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:22,626 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {757#true} {757#true} #80#return; {757#true} is VALID [2022-04-27 13:22:22,627 INFO L290 TraceCheckUtils]: 11: Hoare triple {757#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:22,628 INFO L290 TraceCheckUtils]: 12: Hoare triple {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:22,628 INFO L290 TraceCheckUtils]: 13: Hoare triple {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:22,628 INFO L272 TraceCheckUtils]: 14: Hoare triple {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {757#true} is VALID [2022-04-27 13:22:22,628 INFO L290 TraceCheckUtils]: 15: Hoare triple {757#true} ~cond := #in~cond; {757#true} is VALID [2022-04-27 13:22:22,628 INFO L290 TraceCheckUtils]: 16: Hoare triple {757#true} assume !(0 == ~cond); {757#true} is VALID [2022-04-27 13:22:22,629 INFO L290 TraceCheckUtils]: 17: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:22,629 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {757#true} {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:22,630 INFO L272 TraceCheckUtils]: 19: Hoare triple {766#(= 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)); {771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:22,630 INFO L290 TraceCheckUtils]: 20: Hoare triple {771#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {772#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:22:22,630 INFO L290 TraceCheckUtils]: 21: Hoare triple {772#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {758#false} is VALID [2022-04-27 13:22:22,631 INFO L290 TraceCheckUtils]: 22: Hoare triple {758#false} assume !false; {758#false} is VALID [2022-04-27 13:22:22,631 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:22:22,631 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:22,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [294049370] [2022-04-27 13:22:22,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [294049370] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:22,631 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:22,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:22,632 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1121504828] [2022-04-27 13:22:22,632 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:22,632 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-27 13:22:22,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:22,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:22:22,647 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:22,647 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:22,647 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:22,648 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:22,650 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:22,650 INFO L87 Difference]: Start difference. First operand 38 states and 47 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:22:22,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:22,958 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 13:22:22,958 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:22:22,959 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-27 13:22:22,959 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:22,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:22:22,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:22:22,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:22:22,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:22:22,962 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-27 13:22:23,020 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-27 13:22:23,022 INFO L225 Difference]: With dead ends: 52 [2022-04-27 13:22:23,022 INFO L226 Difference]: Without dead ends: 50 [2022-04-27 13:22:23,022 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:23,023 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 23 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:23,023 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 83 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:23,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-27 13:22:23,046 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 42. [2022-04-27 13:22:23,046 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:23,046 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:23,047 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:23,047 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:23,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:23,050 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-27 13:22:23,050 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-27 13:22:23,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:23,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:23,052 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-27 13:22:23,052 INFO L87 Difference]: Start difference. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-27 13:22:23,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:23,054 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-27 13:22:23,054 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-27 13:22:23,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:23,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:23,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:23,054 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:23,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:23,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2022-04-27 13:22:23,055 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 23 [2022-04-27 13:22:23,056 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:23,056 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2022-04-27 13:22:23,056 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:22:23,056 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2022-04-27 13:22:23,056 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:22:23,056 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:23,057 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:23,057 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-27 13:22:23,057 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:23,057 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:23,057 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 1 times [2022-04-27 13:22:23,057 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:23,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [799818535] [2022-04-27 13:22:23,058 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:23,058 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:23,087 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:23,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [55878841] [2022-04-27 13:22:23,088 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:23,088 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:23,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:23,096 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-27 13:22:23,113 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-27 13:22:23,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:23,132 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:22:23,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:23,140 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:23,302 INFO L272 TraceCheckUtils]: 0: Hoare triple {1018#true} call ULTIMATE.init(); {1018#true} is VALID [2022-04-27 13:22:23,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {1018#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1018#true} is VALID [2022-04-27 13:22:23,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {1018#true} assume true; {1018#true} is VALID [2022-04-27 13:22:23,302 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1018#true} {1018#true} #96#return; {1018#true} is VALID [2022-04-27 13:22:23,303 INFO L272 TraceCheckUtils]: 4: Hoare triple {1018#true} call #t~ret8 := main(); {1018#true} is VALID [2022-04-27 13:22:23,303 INFO L290 TraceCheckUtils]: 5: Hoare triple {1018#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1018#true} is VALID [2022-04-27 13:22:23,303 INFO L272 TraceCheckUtils]: 6: Hoare triple {1018#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1018#true} is VALID [2022-04-27 13:22:23,303 INFO L290 TraceCheckUtils]: 7: Hoare triple {1018#true} ~cond := #in~cond; {1018#true} is VALID [2022-04-27 13:22:23,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {1018#true} assume !(0 == ~cond); {1018#true} is VALID [2022-04-27 13:22:23,303 INFO L290 TraceCheckUtils]: 9: Hoare triple {1018#true} assume true; {1018#true} is VALID [2022-04-27 13:22:23,304 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1018#true} {1018#true} #80#return; {1018#true} is VALID [2022-04-27 13:22:23,305 INFO L290 TraceCheckUtils]: 11: Hoare triple {1018#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:23,305 INFO L290 TraceCheckUtils]: 12: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:23,306 INFO L290 TraceCheckUtils]: 13: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:23,307 INFO L272 TraceCheckUtils]: 14: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1018#true} is VALID [2022-04-27 13:22:23,319 INFO L290 TraceCheckUtils]: 15: Hoare triple {1018#true} ~cond := #in~cond; {1018#true} is VALID [2022-04-27 13:22:23,319 INFO L290 TraceCheckUtils]: 16: Hoare triple {1018#true} assume !(0 == ~cond); {1018#true} is VALID [2022-04-27 13:22:23,319 INFO L290 TraceCheckUtils]: 17: Hoare triple {1018#true} assume true; {1018#true} is VALID [2022-04-27 13:22:23,322 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1018#true} {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:23,322 INFO L272 TraceCheckUtils]: 19: Hoare triple {1056#(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)); {1018#true} is VALID [2022-04-27 13:22:23,322 INFO L290 TraceCheckUtils]: 20: Hoare triple {1018#true} ~cond := #in~cond; {1018#true} is VALID [2022-04-27 13:22:23,322 INFO L290 TraceCheckUtils]: 21: Hoare triple {1018#true} assume !(0 == ~cond); {1018#true} is VALID [2022-04-27 13:22:23,322 INFO L290 TraceCheckUtils]: 22: Hoare triple {1018#true} assume true; {1018#true} is VALID [2022-04-27 13:22:23,327 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1018#true} {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:23,328 INFO L272 TraceCheckUtils]: 24: Hoare triple {1056#(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)); {1096#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:23,328 INFO L290 TraceCheckUtils]: 25: Hoare triple {1096#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1100#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:23,329 INFO L290 TraceCheckUtils]: 26: Hoare triple {1100#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1019#false} is VALID [2022-04-27 13:22:23,329 INFO L290 TraceCheckUtils]: 27: Hoare triple {1019#false} assume !false; {1019#false} is VALID [2022-04-27 13:22:23,329 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 13:22:23,329 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:23,329 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:23,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [799818535] [2022-04-27 13:22:23,330 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:23,330 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [55878841] [2022-04-27 13:22:23,330 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [55878841] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:23,330 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:23,330 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:22:23,330 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [206395472] [2022-04-27 13:22:23,330 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:23,331 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 13:22:23,331 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:23,331 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:23,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:23,346 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:22:23,346 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:23,346 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:22:23,346 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:22:23,346 INFO L87 Difference]: Start difference. First operand 42 states and 50 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:23,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:23,521 INFO L93 Difference]: Finished difference Result 71 states and 93 transitions. [2022-04-27 13:22:23,521 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:23,521 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 13:22:23,521 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:23,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:23,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-27 13:22:23,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:23,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-27 13:22:23,524 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 87 transitions. [2022-04-27 13:22:23,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:23,588 INFO L225 Difference]: With dead ends: 71 [2022-04-27 13:22:23,588 INFO L226 Difference]: Without dead ends: 56 [2022-04-27 13:22:23,588 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:23,589 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 10 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:23,589 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 143 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:23,589 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-27 13:22:23,601 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-27 13:22:23,601 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:23,601 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:23,602 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:23,602 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:23,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:23,604 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-27 13:22:23,604 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-27 13:22:23,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:23,604 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:23,604 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-27 13:22:23,604 INFO L87 Difference]: Start difference. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-27 13:22:23,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:23,606 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-27 13:22:23,606 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-27 13:22:23,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:23,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:23,606 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:23,607 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:23,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:23,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 70 transitions. [2022-04-27 13:22:23,608 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 70 transitions. Word has length 28 [2022-04-27 13:22:23,608 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:23,608 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 70 transitions. [2022-04-27 13:22:23,609 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:23,609 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-27 13:22:23,609 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-27 13:22:23,609 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:23,609 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:23,631 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-27 13:22:23,823 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:23,824 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:23,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:23,824 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 1 times [2022-04-27 13:22:23,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:23,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [585619382] [2022-04-27 13:22:23,824 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:23,824 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:23,836 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:23,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1281066859] [2022-04-27 13:22:23,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:23,836 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:23,836 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:23,842 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-27 13:22:23,843 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-27 13:22:23,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:23,891 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:22:23,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:23,899 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:24,061 INFO L272 TraceCheckUtils]: 0: Hoare triple {1403#true} call ULTIMATE.init(); {1403#true} is VALID [2022-04-27 13:22:24,067 INFO L290 TraceCheckUtils]: 1: Hoare triple {1403#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,067 INFO L290 TraceCheckUtils]: 2: Hoare triple {1411#(<= ~counter~0 0)} assume true; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,068 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1411#(<= ~counter~0 0)} {1403#true} #96#return; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,068 INFO L272 TraceCheckUtils]: 4: Hoare triple {1411#(<= ~counter~0 0)} call #t~ret8 := main(); {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,068 INFO L290 TraceCheckUtils]: 5: Hoare triple {1411#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,069 INFO L272 TraceCheckUtils]: 6: Hoare triple {1411#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,069 INFO L290 TraceCheckUtils]: 7: Hoare triple {1411#(<= ~counter~0 0)} ~cond := #in~cond; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,070 INFO L290 TraceCheckUtils]: 8: Hoare triple {1411#(<= ~counter~0 0)} assume !(0 == ~cond); {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {1411#(<= ~counter~0 0)} assume true; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,070 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1411#(<= ~counter~0 0)} {1411#(<= ~counter~0 0)} #80#return; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,071 INFO L290 TraceCheckUtils]: 11: Hoare triple {1411#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,071 INFO L290 TraceCheckUtils]: 12: Hoare triple {1411#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,071 INFO L290 TraceCheckUtils]: 13: Hoare triple {1445#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,072 INFO L272 TraceCheckUtils]: 14: Hoare triple {1445#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,073 INFO L290 TraceCheckUtils]: 15: Hoare triple {1445#(<= ~counter~0 1)} ~cond := #in~cond; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,073 INFO L290 TraceCheckUtils]: 16: Hoare triple {1445#(<= ~counter~0 1)} assume !(0 == ~cond); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,073 INFO L290 TraceCheckUtils]: 17: Hoare triple {1445#(<= ~counter~0 1)} assume true; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,074 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1445#(<= ~counter~0 1)} {1445#(<= ~counter~0 1)} #82#return; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,074 INFO L272 TraceCheckUtils]: 19: Hoare triple {1445#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,074 INFO L290 TraceCheckUtils]: 20: Hoare triple {1445#(<= ~counter~0 1)} ~cond := #in~cond; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,075 INFO L290 TraceCheckUtils]: 21: Hoare triple {1445#(<= ~counter~0 1)} assume !(0 == ~cond); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,075 INFO L290 TraceCheckUtils]: 22: Hoare triple {1445#(<= ~counter~0 1)} assume true; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,075 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1445#(<= ~counter~0 1)} {1445#(<= ~counter~0 1)} #84#return; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,076 INFO L272 TraceCheckUtils]: 24: Hoare triple {1445#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,076 INFO L290 TraceCheckUtils]: 25: Hoare triple {1445#(<= ~counter~0 1)} ~cond := #in~cond; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,076 INFO L290 TraceCheckUtils]: 26: Hoare triple {1445#(<= ~counter~0 1)} assume !(0 == ~cond); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,077 INFO L290 TraceCheckUtils]: 27: Hoare triple {1445#(<= ~counter~0 1)} assume true; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,077 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1445#(<= ~counter~0 1)} {1445#(<= ~counter~0 1)} #86#return; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,078 INFO L290 TraceCheckUtils]: 29: Hoare triple {1445#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,078 INFO L290 TraceCheckUtils]: 30: Hoare triple {1445#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1500#(<= |main_#t~post7| 1)} is VALID [2022-04-27 13:22:24,078 INFO L290 TraceCheckUtils]: 31: Hoare triple {1500#(<= |main_#t~post7| 1)} assume !(#t~post7 < 5);havoc #t~post7; {1404#false} is VALID [2022-04-27 13:22:24,078 INFO L272 TraceCheckUtils]: 32: Hoare triple {1404#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {1404#false} is VALID [2022-04-27 13:22:24,078 INFO L290 TraceCheckUtils]: 33: Hoare triple {1404#false} ~cond := #in~cond; {1404#false} is VALID [2022-04-27 13:22:24,079 INFO L290 TraceCheckUtils]: 34: Hoare triple {1404#false} assume 0 == ~cond; {1404#false} is VALID [2022-04-27 13:22:24,079 INFO L290 TraceCheckUtils]: 35: Hoare triple {1404#false} assume !false; {1404#false} is VALID [2022-04-27 13:22:24,079 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:24,079 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:24,079 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:24,079 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [585619382] [2022-04-27 13:22:24,079 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:24,079 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1281066859] [2022-04-27 13:22:24,079 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1281066859] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:24,079 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:24,079 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:22:24,080 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [893758494] [2022-04-27 13:22:24,080 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:24,083 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-27 13:22:24,083 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:24,083 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:24,107 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:24,107 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:22:24,107 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:24,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:22:24,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:22:24,108 INFO L87 Difference]: Start difference. First operand 56 states and 70 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:24,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:24,227 INFO L93 Difference]: Finished difference Result 76 states and 86 transitions. [2022-04-27 13:22:24,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:24,227 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-27 13:22:24,227 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:24,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:24,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:22:24,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:24,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:22:24,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-27 13:22:24,268 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:24,269 INFO L225 Difference]: With dead ends: 76 [2022-04-27 13:22:24,269 INFO L226 Difference]: Without dead ends: 69 [2022-04-27 13:22:24,270 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:22:24,270 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:24,270 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 136 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:24,271 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-27 13:22:24,286 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2022-04-27 13:22:24,287 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:24,287 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:24,287 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:24,287 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:24,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:24,289 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-27 13:22:24,289 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-27 13:22:24,289 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:24,289 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:24,289 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-27 13:22:24,290 INFO L87 Difference]: Start difference. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-27 13:22:24,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:24,291 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-27 13:22:24,291 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-27 13:22:24,291 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:24,291 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:24,292 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:24,292 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:24,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:24,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 78 transitions. [2022-04-27 13:22:24,293 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 78 transitions. Word has length 36 [2022-04-27 13:22:24,293 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:24,293 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 78 transitions. [2022-04-27 13:22:24,293 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:24,294 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 78 transitions. [2022-04-27 13:22:24,294 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-27 13:22:24,294 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:24,294 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:24,310 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:24,507 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:24,507 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:24,508 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:24,508 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 1 times [2022-04-27 13:22:24,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:24,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [894455] [2022-04-27 13:22:24,508 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:24,508 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:24,531 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:24,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1914257487] [2022-04-27 13:22:24,531 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:24,531 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:24,531 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:24,536 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-27 13:22:24,538 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-27 13:22:24,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:24,575 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:22:24,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:24,582 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:25,048 INFO L272 TraceCheckUtils]: 0: Hoare triple {1856#true} call ULTIMATE.init(); {1856#true} is VALID [2022-04-27 13:22:25,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {1856#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1856#true} is VALID [2022-04-27 13:22:25,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:25,048 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1856#true} {1856#true} #96#return; {1856#true} is VALID [2022-04-27 13:22:25,048 INFO L272 TraceCheckUtils]: 4: Hoare triple {1856#true} call #t~ret8 := main(); {1856#true} is VALID [2022-04-27 13:22:25,048 INFO L290 TraceCheckUtils]: 5: Hoare triple {1856#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1856#true} is VALID [2022-04-27 13:22:25,048 INFO L272 TraceCheckUtils]: 6: Hoare triple {1856#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1856#true} is VALID [2022-04-27 13:22:25,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2022-04-27 13:22:25,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {1856#true} assume !(0 == ~cond); {1856#true} is VALID [2022-04-27 13:22:25,049 INFO L290 TraceCheckUtils]: 9: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:25,049 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1856#true} {1856#true} #80#return; {1856#true} is VALID [2022-04-27 13:22:25,050 INFO L290 TraceCheckUtils]: 11: Hoare triple {1856#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,051 INFO L290 TraceCheckUtils]: 12: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,051 INFO L290 TraceCheckUtils]: 13: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,051 INFO L272 TraceCheckUtils]: 14: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1856#true} is VALID [2022-04-27 13:22:25,051 INFO L290 TraceCheckUtils]: 15: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2022-04-27 13:22:25,054 INFO L290 TraceCheckUtils]: 16: Hoare triple {1856#true} assume !(0 == ~cond); {1856#true} is VALID [2022-04-27 13:22:25,054 INFO L290 TraceCheckUtils]: 17: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:25,055 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1856#true} {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,055 INFO L272 TraceCheckUtils]: 19: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1856#true} is VALID [2022-04-27 13:22:25,055 INFO L290 TraceCheckUtils]: 20: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2022-04-27 13:22:25,055 INFO L290 TraceCheckUtils]: 21: Hoare triple {1856#true} assume !(0 == ~cond); {1856#true} is VALID [2022-04-27 13:22:25,055 INFO L290 TraceCheckUtils]: 22: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:25,056 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1856#true} {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,056 INFO L272 TraceCheckUtils]: 24: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1856#true} is VALID [2022-04-27 13:22:25,056 INFO L290 TraceCheckUtils]: 25: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2022-04-27 13:22:25,056 INFO L290 TraceCheckUtils]: 26: Hoare triple {1856#true} assume !(0 == ~cond); {1856#true} is VALID [2022-04-27 13:22:25,056 INFO L290 TraceCheckUtils]: 27: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:25,057 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1856#true} {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,058 INFO L290 TraceCheckUtils]: 29: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,061 INFO L290 TraceCheckUtils]: 30: Hoare triple {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,062 INFO L290 TraceCheckUtils]: 31: Hoare triple {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post7 < 5);havoc #t~post7; {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,062 INFO L272 TraceCheckUtils]: 32: Hoare triple {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:25,063 INFO L290 TraceCheckUtils]: 33: Hoare triple {1959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:25,063 INFO L290 TraceCheckUtils]: 34: Hoare triple {1963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1857#false} is VALID [2022-04-27 13:22:25,063 INFO L290 TraceCheckUtils]: 35: Hoare triple {1857#false} assume !false; {1857#false} is VALID [2022-04-27 13:22:25,064 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:25,064 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:25,064 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:25,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [894455] [2022-04-27 13:22:25,064 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:25,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1914257487] [2022-04-27 13:22:25,064 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1914257487] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:25,064 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:25,064 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:25,064 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [989250080] [2022-04-27 13:22:25,064 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:25,065 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-27 13:22:25,065 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:25,066 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:25,091 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:25,091 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:25,091 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:25,092 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:25,092 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:25,092 INFO L87 Difference]: Start difference. First operand 68 states and 78 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:25,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:25,362 INFO L93 Difference]: Finished difference Result 74 states and 83 transitions. [2022-04-27 13:22:25,362 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:22:25,362 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-27 13:22:25,362 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:25,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:25,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-04-27 13:22:25,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:25,364 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-04-27 13:22:25,364 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 65 transitions. [2022-04-27 13:22:25,406 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:25,407 INFO L225 Difference]: With dead ends: 74 [2022-04-27 13:22:25,408 INFO L226 Difference]: Without dead ends: 58 [2022-04-27 13:22:25,408 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:22:25,408 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 78 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:25,408 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 160 Invalid, 78 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:25,409 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-27 13:22:25,420 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 58. [2022-04-27 13:22:25,420 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:25,420 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:22:25,420 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:22:25,420 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:22:25,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:25,422 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2022-04-27 13:22:25,422 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2022-04-27 13:22:25,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:25,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:25,422 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 58 states. [2022-04-27 13:22:25,422 INFO L87 Difference]: Start difference. First operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 58 states. [2022-04-27 13:22:25,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:25,424 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2022-04-27 13:22:25,424 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2022-04-27 13:22:25,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:25,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:25,424 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:25,424 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:25,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:22:25,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 66 transitions. [2022-04-27 13:22:25,425 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 66 transitions. Word has length 36 [2022-04-27 13:22:25,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:25,426 INFO L495 AbstractCegarLoop]: Abstraction has 58 states and 66 transitions. [2022-04-27 13:22:25,426 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:25,426 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2022-04-27 13:22:25,426 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 13:22:25,426 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:25,426 INFO L195 NwaCegarLoop]: trace histogram [4, 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, 1, 1, 1, 1] [2022-04-27 13:22:25,464 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:25,639 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:25,639 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:25,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:25,640 INFO L85 PathProgramCache]: Analyzing trace with hash -1189074514, now seen corresponding path program 1 times [2022-04-27 13:22:25,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:25,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1404892002] [2022-04-27 13:22:25,640 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:25,640 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:25,649 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:25,649 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1031089789] [2022-04-27 13:22:25,649 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:25,649 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:25,649 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:25,650 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-27 13:22:25,651 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-27 13:22:25,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:25,683 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:22:25,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:25,698 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:25,878 INFO L272 TraceCheckUtils]: 0: Hoare triple {2274#true} call ULTIMATE.init(); {2274#true} is VALID [2022-04-27 13:22:25,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {2274#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:25,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {2282#(<= ~counter~0 0)} assume true; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:25,879 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2282#(<= ~counter~0 0)} {2274#true} #96#return; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:25,880 INFO L272 TraceCheckUtils]: 4: Hoare triple {2282#(<= ~counter~0 0)} call #t~ret8 := main(); {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:25,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {2282#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:25,881 INFO L272 TraceCheckUtils]: 6: Hoare triple {2282#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:25,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {2282#(<= ~counter~0 0)} ~cond := #in~cond; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:25,881 INFO L290 TraceCheckUtils]: 8: Hoare triple {2282#(<= ~counter~0 0)} assume !(0 == ~cond); {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:25,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {2282#(<= ~counter~0 0)} assume true; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:25,882 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2282#(<= ~counter~0 0)} {2282#(<= ~counter~0 0)} #80#return; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:25,882 INFO L290 TraceCheckUtils]: 11: Hoare triple {2282#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:25,883 INFO L290 TraceCheckUtils]: 12: Hoare triple {2282#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {2316#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,883 INFO L272 TraceCheckUtils]: 14: Hoare triple {2316#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,884 INFO L290 TraceCheckUtils]: 15: Hoare triple {2316#(<= ~counter~0 1)} ~cond := #in~cond; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,884 INFO L290 TraceCheckUtils]: 16: Hoare triple {2316#(<= ~counter~0 1)} assume !(0 == ~cond); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,884 INFO L290 TraceCheckUtils]: 17: Hoare triple {2316#(<= ~counter~0 1)} assume true; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,886 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2316#(<= ~counter~0 1)} {2316#(<= ~counter~0 1)} #82#return; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,886 INFO L272 TraceCheckUtils]: 19: Hoare triple {2316#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,886 INFO L290 TraceCheckUtils]: 20: Hoare triple {2316#(<= ~counter~0 1)} ~cond := #in~cond; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,887 INFO L290 TraceCheckUtils]: 21: Hoare triple {2316#(<= ~counter~0 1)} assume !(0 == ~cond); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,887 INFO L290 TraceCheckUtils]: 22: Hoare triple {2316#(<= ~counter~0 1)} assume true; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,887 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2316#(<= ~counter~0 1)} {2316#(<= ~counter~0 1)} #84#return; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,888 INFO L272 TraceCheckUtils]: 24: Hoare triple {2316#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,888 INFO L290 TraceCheckUtils]: 25: Hoare triple {2316#(<= ~counter~0 1)} ~cond := #in~cond; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,888 INFO L290 TraceCheckUtils]: 26: Hoare triple {2316#(<= ~counter~0 1)} assume !(0 == ~cond); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,889 INFO L290 TraceCheckUtils]: 27: Hoare triple {2316#(<= ~counter~0 1)} assume true; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,890 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2316#(<= ~counter~0 1)} {2316#(<= ~counter~0 1)} #86#return; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,890 INFO L290 TraceCheckUtils]: 29: Hoare triple {2316#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:25,890 INFO L290 TraceCheckUtils]: 30: Hoare triple {2316#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2371#(<= |main_#t~post6| 1)} is VALID [2022-04-27 13:22:25,891 INFO L290 TraceCheckUtils]: 31: Hoare triple {2371#(<= |main_#t~post6| 1)} assume !(#t~post6 < 5);havoc #t~post6; {2275#false} is VALID [2022-04-27 13:22:25,891 INFO L290 TraceCheckUtils]: 32: Hoare triple {2275#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2275#false} is VALID [2022-04-27 13:22:25,891 INFO L290 TraceCheckUtils]: 33: Hoare triple {2275#false} assume !(#t~post7 < 5);havoc #t~post7; {2275#false} is VALID [2022-04-27 13:22:25,891 INFO L272 TraceCheckUtils]: 34: Hoare triple {2275#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2275#false} is VALID [2022-04-27 13:22:25,891 INFO L290 TraceCheckUtils]: 35: Hoare triple {2275#false} ~cond := #in~cond; {2275#false} is VALID [2022-04-27 13:22:25,891 INFO L290 TraceCheckUtils]: 36: Hoare triple {2275#false} assume 0 == ~cond; {2275#false} is VALID [2022-04-27 13:22:25,891 INFO L290 TraceCheckUtils]: 37: Hoare triple {2275#false} assume !false; {2275#false} is VALID [2022-04-27 13:22:25,892 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:25,892 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:26,072 INFO L290 TraceCheckUtils]: 37: Hoare triple {2275#false} assume !false; {2275#false} is VALID [2022-04-27 13:22:26,073 INFO L290 TraceCheckUtils]: 36: Hoare triple {2275#false} assume 0 == ~cond; {2275#false} is VALID [2022-04-27 13:22:26,073 INFO L290 TraceCheckUtils]: 35: Hoare triple {2275#false} ~cond := #in~cond; {2275#false} is VALID [2022-04-27 13:22:26,073 INFO L272 TraceCheckUtils]: 34: Hoare triple {2275#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2275#false} is VALID [2022-04-27 13:22:26,073 INFO L290 TraceCheckUtils]: 33: Hoare triple {2275#false} assume !(#t~post7 < 5);havoc #t~post7; {2275#false} is VALID [2022-04-27 13:22:26,073 INFO L290 TraceCheckUtils]: 32: Hoare triple {2275#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2275#false} is VALID [2022-04-27 13:22:26,077 INFO L290 TraceCheckUtils]: 31: Hoare triple {2411#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {2275#false} is VALID [2022-04-27 13:22:26,078 INFO L290 TraceCheckUtils]: 30: Hoare triple {2415#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2411#(< |main_#t~post6| 5)} is VALID [2022-04-27 13:22:26,078 INFO L290 TraceCheckUtils]: 29: Hoare triple {2415#(< ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2415#(< ~counter~0 5)} is VALID [2022-04-27 13:22:26,078 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2274#true} {2415#(< ~counter~0 5)} #86#return; {2415#(< ~counter~0 5)} is VALID [2022-04-27 13:22:26,079 INFO L290 TraceCheckUtils]: 27: Hoare triple {2274#true} assume true; {2274#true} is VALID [2022-04-27 13:22:26,079 INFO L290 TraceCheckUtils]: 26: Hoare triple {2274#true} assume !(0 == ~cond); {2274#true} is VALID [2022-04-27 13:22:26,079 INFO L290 TraceCheckUtils]: 25: Hoare triple {2274#true} ~cond := #in~cond; {2274#true} is VALID [2022-04-27 13:22:26,079 INFO L272 TraceCheckUtils]: 24: Hoare triple {2415#(< ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2274#true} is VALID [2022-04-27 13:22:26,080 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2274#true} {2415#(< ~counter~0 5)} #84#return; {2415#(< ~counter~0 5)} is VALID [2022-04-27 13:22:26,080 INFO L290 TraceCheckUtils]: 22: Hoare triple {2274#true} assume true; {2274#true} is VALID [2022-04-27 13:22:26,080 INFO L290 TraceCheckUtils]: 21: Hoare triple {2274#true} assume !(0 == ~cond); {2274#true} is VALID [2022-04-27 13:22:26,080 INFO L290 TraceCheckUtils]: 20: Hoare triple {2274#true} ~cond := #in~cond; {2274#true} is VALID [2022-04-27 13:22:26,080 INFO L272 TraceCheckUtils]: 19: Hoare triple {2415#(< ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2274#true} is VALID [2022-04-27 13:22:26,081 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2274#true} {2415#(< ~counter~0 5)} #82#return; {2415#(< ~counter~0 5)} is VALID [2022-04-27 13:22:26,081 INFO L290 TraceCheckUtils]: 17: Hoare triple {2274#true} assume true; {2274#true} is VALID [2022-04-27 13:22:26,081 INFO L290 TraceCheckUtils]: 16: Hoare triple {2274#true} assume !(0 == ~cond); {2274#true} is VALID [2022-04-27 13:22:26,081 INFO L290 TraceCheckUtils]: 15: Hoare triple {2274#true} ~cond := #in~cond; {2274#true} is VALID [2022-04-27 13:22:26,081 INFO L272 TraceCheckUtils]: 14: Hoare triple {2415#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2274#true} is VALID [2022-04-27 13:22:26,082 INFO L290 TraceCheckUtils]: 13: Hoare triple {2415#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {2415#(< ~counter~0 5)} is VALID [2022-04-27 13:22:26,082 INFO L290 TraceCheckUtils]: 12: Hoare triple {2470#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2415#(< ~counter~0 5)} is VALID [2022-04-27 13:22:26,082 INFO L290 TraceCheckUtils]: 11: Hoare triple {2470#(< ~counter~0 4)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2470#(< ~counter~0 4)} is VALID [2022-04-27 13:22:26,083 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2274#true} {2470#(< ~counter~0 4)} #80#return; {2470#(< ~counter~0 4)} is VALID [2022-04-27 13:22:26,083 INFO L290 TraceCheckUtils]: 9: Hoare triple {2274#true} assume true; {2274#true} is VALID [2022-04-27 13:22:26,083 INFO L290 TraceCheckUtils]: 8: Hoare triple {2274#true} assume !(0 == ~cond); {2274#true} is VALID [2022-04-27 13:22:26,083 INFO L290 TraceCheckUtils]: 7: Hoare triple {2274#true} ~cond := #in~cond; {2274#true} is VALID [2022-04-27 13:22:26,083 INFO L272 TraceCheckUtils]: 6: Hoare triple {2470#(< ~counter~0 4)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2274#true} is VALID [2022-04-27 13:22:26,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {2470#(< ~counter~0 4)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2470#(< ~counter~0 4)} is VALID [2022-04-27 13:22:26,084 INFO L272 TraceCheckUtils]: 4: Hoare triple {2470#(< ~counter~0 4)} call #t~ret8 := main(); {2470#(< ~counter~0 4)} is VALID [2022-04-27 13:22:26,084 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2470#(< ~counter~0 4)} {2274#true} #96#return; {2470#(< ~counter~0 4)} is VALID [2022-04-27 13:22:26,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {2470#(< ~counter~0 4)} assume true; {2470#(< ~counter~0 4)} is VALID [2022-04-27 13:22:26,086 INFO L290 TraceCheckUtils]: 1: Hoare triple {2274#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2470#(< ~counter~0 4)} is VALID [2022-04-27 13:22:26,086 INFO L272 TraceCheckUtils]: 0: Hoare triple {2274#true} call ULTIMATE.init(); {2274#true} is VALID [2022-04-27 13:22:26,087 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:26,087 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:26,087 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1404892002] [2022-04-27 13:22:26,087 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:26,087 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1031089789] [2022-04-27 13:22:26,087 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1031089789] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:22:26,087 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:22:26,087 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-27 13:22:26,087 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1631240102] [2022-04-27 13:22:26,087 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:26,088 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 38 [2022-04-27 13:22:26,088 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:26,088 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:26,128 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:26,128 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 13:22:26,128 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:26,129 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 13:22:26,129 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:22:26,129 INFO L87 Difference]: Start difference. First operand 58 states and 66 transitions. Second operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:26,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:26,389 INFO L93 Difference]: Finished difference Result 123 states and 147 transitions. [2022-04-27 13:22:26,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:22:26,389 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 38 [2022-04-27 13:22:26,389 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:26,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:26,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 123 transitions. [2022-04-27 13:22:26,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:26,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 123 transitions. [2022-04-27 13:22:26,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 123 transitions. [2022-04-27 13:22:26,477 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-27 13:22:26,479 INFO L225 Difference]: With dead ends: 123 [2022-04-27 13:22:26,479 INFO L226 Difference]: Without dead ends: 109 [2022-04-27 13:22:26,479 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:22:26,480 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 48 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 74 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:26,480 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 178 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:26,480 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2022-04-27 13:22:26,516 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 103. [2022-04-27 13:22:26,516 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:26,516 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:22:26,516 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:22:26,517 INFO L87 Difference]: Start difference. First operand 109 states. Second operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:22:26,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:26,519 INFO L93 Difference]: Finished difference Result 109 states and 125 transitions. [2022-04-27 13:22:26,519 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 125 transitions. [2022-04-27 13:22:26,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:26,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:26,520 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 109 states. [2022-04-27 13:22:26,520 INFO L87 Difference]: Start difference. First operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 109 states. [2022-04-27 13:22:26,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:26,522 INFO L93 Difference]: Finished difference Result 109 states and 125 transitions. [2022-04-27 13:22:26,522 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 125 transitions. [2022-04-27 13:22:26,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:26,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:26,523 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:26,523 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:26,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:22:26,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 120 transitions. [2022-04-27 13:22:26,526 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 120 transitions. Word has length 38 [2022-04-27 13:22:26,526 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:26,526 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 120 transitions. [2022-04-27 13:22:26,526 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:26,526 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 120 transitions. [2022-04-27 13:22:26,527 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-27 13:22:26,527 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:26,527 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:26,554 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-27 13:22:26,739 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:26,740 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:26,740 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:26,740 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 1 times [2022-04-27 13:22:26,740 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:26,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [596174726] [2022-04-27 13:22:26,740 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:26,740 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:26,751 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:26,751 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1328137606] [2022-04-27 13:22:26,752 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:26,752 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:26,752 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:26,752 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-27 13:22:26,754 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-27 13:22:26,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:26,788 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-27 13:22:26,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:26,802 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:27,554 INFO L272 TraceCheckUtils]: 0: Hoare triple {3050#true} call ULTIMATE.init(); {3050#true} is VALID [2022-04-27 13:22:27,554 INFO L290 TraceCheckUtils]: 1: Hoare triple {3050#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3050#true} is VALID [2022-04-27 13:22:27,554 INFO L290 TraceCheckUtils]: 2: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3050#true} {3050#true} #96#return; {3050#true} is VALID [2022-04-27 13:22:27,554 INFO L272 TraceCheckUtils]: 4: Hoare triple {3050#true} call #t~ret8 := main(); {3050#true} is VALID [2022-04-27 13:22:27,555 INFO L290 TraceCheckUtils]: 5: Hoare triple {3050#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3050#true} is VALID [2022-04-27 13:22:27,555 INFO L272 TraceCheckUtils]: 6: Hoare triple {3050#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:27,555 INFO L290 TraceCheckUtils]: 7: Hoare triple {3050#true} ~cond := #in~cond; {3076#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:22:27,555 INFO L290 TraceCheckUtils]: 8: Hoare triple {3076#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:27,555 INFO L290 TraceCheckUtils]: 9: Hoare triple {3080#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:27,556 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3080#(not (= |assume_abort_if_not_#in~cond| 0))} {3050#true} #80#return; {3087#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:22:27,556 INFO L290 TraceCheckUtils]: 11: Hoare triple {3087#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:27,557 INFO L290 TraceCheckUtils]: 12: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:27,557 INFO L290 TraceCheckUtils]: 13: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:27,557 INFO L272 TraceCheckUtils]: 14: Hoare triple {3091#(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)); {3050#true} is VALID [2022-04-27 13:22:27,557 INFO L290 TraceCheckUtils]: 15: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:27,557 INFO L290 TraceCheckUtils]: 16: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:27,558 INFO L290 TraceCheckUtils]: 17: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,558 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3050#true} {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:27,558 INFO L272 TraceCheckUtils]: 19: Hoare triple {3091#(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)); {3050#true} is VALID [2022-04-27 13:22:27,558 INFO L290 TraceCheckUtils]: 20: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:27,558 INFO L290 TraceCheckUtils]: 21: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:27,558 INFO L290 TraceCheckUtils]: 22: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,559 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3050#true} {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:27,559 INFO L272 TraceCheckUtils]: 24: Hoare triple {3091#(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)); {3050#true} is VALID [2022-04-27 13:22:27,559 INFO L290 TraceCheckUtils]: 25: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:27,559 INFO L290 TraceCheckUtils]: 26: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:27,559 INFO L290 TraceCheckUtils]: 27: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,560 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3050#true} {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:27,560 INFO L290 TraceCheckUtils]: 29: Hoare triple {3091#(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; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,561 INFO L290 TraceCheckUtils]: 30: Hoare triple {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,561 INFO L290 TraceCheckUtils]: 31: Hoare triple {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,561 INFO L272 TraceCheckUtils]: 32: Hoare triple {3146#(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)); {3050#true} is VALID [2022-04-27 13:22:27,561 INFO L290 TraceCheckUtils]: 33: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:27,561 INFO L290 TraceCheckUtils]: 34: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:27,562 INFO L290 TraceCheckUtils]: 35: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,562 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3050#true} {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,562 INFO L272 TraceCheckUtils]: 37: Hoare triple {3146#(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)); {3050#true} is VALID [2022-04-27 13:22:27,562 INFO L290 TraceCheckUtils]: 38: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:27,562 INFO L290 TraceCheckUtils]: 39: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:27,562 INFO L290 TraceCheckUtils]: 40: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,563 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3050#true} {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,563 INFO L272 TraceCheckUtils]: 42: Hoare triple {3146#(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)); {3186#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:27,564 INFO L290 TraceCheckUtils]: 43: Hoare triple {3186#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3190#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:27,564 INFO L290 TraceCheckUtils]: 44: Hoare triple {3190#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3051#false} is VALID [2022-04-27 13:22:27,564 INFO L290 TraceCheckUtils]: 45: Hoare triple {3051#false} assume !false; {3051#false} is VALID [2022-04-27 13:22:27,564 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-27 13:22:27,564 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:27,861 INFO L290 TraceCheckUtils]: 45: Hoare triple {3051#false} assume !false; {3051#false} is VALID [2022-04-27 13:22:27,862 INFO L290 TraceCheckUtils]: 44: Hoare triple {3190#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3051#false} is VALID [2022-04-27 13:22:27,862 INFO L290 TraceCheckUtils]: 43: Hoare triple {3186#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3190#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:27,863 INFO L272 TraceCheckUtils]: 42: Hoare triple {3206#(= 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)); {3186#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:27,863 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,863 INFO L290 TraceCheckUtils]: 40: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,864 INFO L290 TraceCheckUtils]: 39: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:27,864 INFO L290 TraceCheckUtils]: 38: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:27,864 INFO L272 TraceCheckUtils]: 37: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:27,864 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,864 INFO L290 TraceCheckUtils]: 35: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,864 INFO L290 TraceCheckUtils]: 34: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:27,865 INFO L290 TraceCheckUtils]: 33: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:27,865 INFO L272 TraceCheckUtils]: 32: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:27,865 INFO L290 TraceCheckUtils]: 31: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,865 INFO L290 TraceCheckUtils]: 30: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,867 INFO L290 TraceCheckUtils]: 29: Hoare triple {3206#(= 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; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,868 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,868 INFO L290 TraceCheckUtils]: 27: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,868 INFO L290 TraceCheckUtils]: 26: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:27,868 INFO L290 TraceCheckUtils]: 25: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:27,868 INFO L272 TraceCheckUtils]: 24: Hoare triple {3206#(= 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)); {3050#true} is VALID [2022-04-27 13:22:27,868 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,868 INFO L290 TraceCheckUtils]: 22: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,868 INFO L290 TraceCheckUtils]: 21: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:27,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:27,869 INFO L272 TraceCheckUtils]: 19: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:27,869 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,869 INFO L290 TraceCheckUtils]: 17: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,869 INFO L290 TraceCheckUtils]: 16: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:27,869 INFO L290 TraceCheckUtils]: 15: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:27,869 INFO L272 TraceCheckUtils]: 14: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:27,870 INFO L290 TraceCheckUtils]: 13: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,870 INFO L290 TraceCheckUtils]: 12: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,870 INFO L290 TraceCheckUtils]: 11: Hoare triple {3050#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:27,871 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3050#true} {3050#true} #80#return; {3050#true} is VALID [2022-04-27 13:22:27,871 INFO L290 TraceCheckUtils]: 9: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,871 INFO L290 TraceCheckUtils]: 8: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:27,871 INFO L290 TraceCheckUtils]: 7: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:27,871 INFO L272 TraceCheckUtils]: 6: Hoare triple {3050#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:27,871 INFO L290 TraceCheckUtils]: 5: Hoare triple {3050#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3050#true} is VALID [2022-04-27 13:22:27,871 INFO L272 TraceCheckUtils]: 4: Hoare triple {3050#true} call #t~ret8 := main(); {3050#true} is VALID [2022-04-27 13:22:27,871 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3050#true} {3050#true} #96#return; {3050#true} is VALID [2022-04-27 13:22:27,871 INFO L290 TraceCheckUtils]: 2: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:27,871 INFO L290 TraceCheckUtils]: 1: Hoare triple {3050#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3050#true} is VALID [2022-04-27 13:22:27,871 INFO L272 TraceCheckUtils]: 0: Hoare triple {3050#true} call ULTIMATE.init(); {3050#true} is VALID [2022-04-27 13:22:27,871 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:22:27,872 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:27,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [596174726] [2022-04-27 13:22:27,872 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:27,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1328137606] [2022-04-27 13:22:27,872 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1328137606] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:22:27,872 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:22:27,872 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 13:22:27,872 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [832607381] [2022-04-27 13:22:27,872 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:27,873 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-27 13:22:27,873 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:27,873 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:27,896 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:27,896 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:22:27,896 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:27,897 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:22:27,897 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:27,897 INFO L87 Difference]: Start difference. First operand 103 states and 120 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:28,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:28,153 INFO L93 Difference]: Finished difference Result 120 states and 141 transitions. [2022-04-27 13:22:28,153 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:28,153 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-27 13:22:28,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:28,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:28,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-27 13:22:28,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:28,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-27 13:22:28,156 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-27 13:22:28,198 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:28,200 INFO L225 Difference]: With dead ends: 120 [2022-04-27 13:22:28,200 INFO L226 Difference]: Without dead ends: 118 [2022-04-27 13:22:28,200 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 81 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:22:28,201 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 11 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:28,201 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 125 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:28,201 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2022-04-27 13:22:28,227 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 115. [2022-04-27 13:22:28,227 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:28,227 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:22:28,227 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:22:28,228 INFO L87 Difference]: Start difference. First operand 118 states. Second operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:22:28,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:28,230 INFO L93 Difference]: Finished difference Result 118 states and 137 transitions. [2022-04-27 13:22:28,230 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 137 transitions. [2022-04-27 13:22:28,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:28,231 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:28,231 INFO L74 IsIncluded]: Start isIncluded. First operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 118 states. [2022-04-27 13:22:28,231 INFO L87 Difference]: Start difference. First operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 118 states. [2022-04-27 13:22:28,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:28,233 INFO L93 Difference]: Finished difference Result 118 states and 137 transitions. [2022-04-27 13:22:28,233 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 137 transitions. [2022-04-27 13:22:28,234 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:28,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:28,234 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:28,234 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:28,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:22:28,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 132 transitions. [2022-04-27 13:22:28,237 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 132 transitions. Word has length 46 [2022-04-27 13:22:28,237 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:28,237 INFO L495 AbstractCegarLoop]: Abstraction has 115 states and 132 transitions. [2022-04-27 13:22:28,237 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:28,237 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 132 transitions. [2022-04-27 13:22:28,237 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 13:22:28,237 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:28,237 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:28,262 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-27 13:22:28,451 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:28,451 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:28,452 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:28,452 INFO L85 PathProgramCache]: Analyzing trace with hash 243046571, now seen corresponding path program 1 times [2022-04-27 13:22:28,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:28,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [390852613] [2022-04-27 13:22:28,452 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:28,452 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:28,460 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:28,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1478088723] [2022-04-27 13:22:28,461 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:28,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:28,461 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:28,462 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-27 13:22:28,463 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-27 13:22:28,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:28,496 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:22:28,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:28,506 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:28,706 INFO L272 TraceCheckUtils]: 0: Hoare triple {3904#true} call ULTIMATE.init(); {3904#true} is VALID [2022-04-27 13:22:28,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {3904#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:28,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {3912#(<= ~counter~0 0)} assume true; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:28,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3912#(<= ~counter~0 0)} {3904#true} #96#return; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:28,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {3912#(<= ~counter~0 0)} call #t~ret8 := main(); {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:28,709 INFO L290 TraceCheckUtils]: 5: Hoare triple {3912#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:28,709 INFO L272 TraceCheckUtils]: 6: Hoare triple {3912#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:28,710 INFO L290 TraceCheckUtils]: 7: Hoare triple {3912#(<= ~counter~0 0)} ~cond := #in~cond; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:28,710 INFO L290 TraceCheckUtils]: 8: Hoare triple {3912#(<= ~counter~0 0)} assume !(0 == ~cond); {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:28,710 INFO L290 TraceCheckUtils]: 9: Hoare triple {3912#(<= ~counter~0 0)} assume true; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:28,711 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3912#(<= ~counter~0 0)} {3912#(<= ~counter~0 0)} #80#return; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:28,711 INFO L290 TraceCheckUtils]: 11: Hoare triple {3912#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:28,712 INFO L290 TraceCheckUtils]: 12: Hoare triple {3912#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,713 INFO L290 TraceCheckUtils]: 13: Hoare triple {3946#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,713 INFO L272 TraceCheckUtils]: 14: Hoare triple {3946#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,714 INFO L290 TraceCheckUtils]: 15: Hoare triple {3946#(<= ~counter~0 1)} ~cond := #in~cond; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,714 INFO L290 TraceCheckUtils]: 16: Hoare triple {3946#(<= ~counter~0 1)} assume !(0 == ~cond); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,714 INFO L290 TraceCheckUtils]: 17: Hoare triple {3946#(<= ~counter~0 1)} assume true; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,715 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3946#(<= ~counter~0 1)} {3946#(<= ~counter~0 1)} #82#return; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,715 INFO L272 TraceCheckUtils]: 19: Hoare triple {3946#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,716 INFO L290 TraceCheckUtils]: 20: Hoare triple {3946#(<= ~counter~0 1)} ~cond := #in~cond; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,716 INFO L290 TraceCheckUtils]: 21: Hoare triple {3946#(<= ~counter~0 1)} assume !(0 == ~cond); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,716 INFO L290 TraceCheckUtils]: 22: Hoare triple {3946#(<= ~counter~0 1)} assume true; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,717 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3946#(<= ~counter~0 1)} {3946#(<= ~counter~0 1)} #84#return; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,717 INFO L272 TraceCheckUtils]: 24: Hoare triple {3946#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,718 INFO L290 TraceCheckUtils]: 25: Hoare triple {3946#(<= ~counter~0 1)} ~cond := #in~cond; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,718 INFO L290 TraceCheckUtils]: 26: Hoare triple {3946#(<= ~counter~0 1)} assume !(0 == ~cond); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,718 INFO L290 TraceCheckUtils]: 27: Hoare triple {3946#(<= ~counter~0 1)} assume true; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,719 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3946#(<= ~counter~0 1)} {3946#(<= ~counter~0 1)} #86#return; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,719 INFO L290 TraceCheckUtils]: 29: Hoare triple {3946#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:28,720 INFO L290 TraceCheckUtils]: 30: Hoare triple {3946#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,720 INFO L290 TraceCheckUtils]: 31: Hoare triple {4001#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,721 INFO L272 TraceCheckUtils]: 32: Hoare triple {4001#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,721 INFO L290 TraceCheckUtils]: 33: Hoare triple {4001#(<= ~counter~0 2)} ~cond := #in~cond; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,721 INFO L290 TraceCheckUtils]: 34: Hoare triple {4001#(<= ~counter~0 2)} assume !(0 == ~cond); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,721 INFO L290 TraceCheckUtils]: 35: Hoare triple {4001#(<= ~counter~0 2)} assume true; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,722 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4001#(<= ~counter~0 2)} {4001#(<= ~counter~0 2)} #82#return; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,722 INFO L272 TraceCheckUtils]: 37: Hoare triple {4001#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,723 INFO L290 TraceCheckUtils]: 38: Hoare triple {4001#(<= ~counter~0 2)} ~cond := #in~cond; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,723 INFO L290 TraceCheckUtils]: 39: Hoare triple {4001#(<= ~counter~0 2)} assume !(0 == ~cond); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,723 INFO L290 TraceCheckUtils]: 40: Hoare triple {4001#(<= ~counter~0 2)} assume true; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,724 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4001#(<= ~counter~0 2)} {4001#(<= ~counter~0 2)} #84#return; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,724 INFO L272 TraceCheckUtils]: 42: Hoare triple {4001#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,725 INFO L290 TraceCheckUtils]: 43: Hoare triple {4001#(<= ~counter~0 2)} ~cond := #in~cond; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,725 INFO L290 TraceCheckUtils]: 44: Hoare triple {4001#(<= ~counter~0 2)} assume !(0 == ~cond); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,725 INFO L290 TraceCheckUtils]: 45: Hoare triple {4001#(<= ~counter~0 2)} assume true; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,726 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4001#(<= ~counter~0 2)} {4001#(<= ~counter~0 2)} #86#return; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,726 INFO L290 TraceCheckUtils]: 47: Hoare triple {4001#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,727 INFO L290 TraceCheckUtils]: 48: Hoare triple {4001#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4056#(<= |main_#t~post7| 2)} is VALID [2022-04-27 13:22:28,727 INFO L290 TraceCheckUtils]: 49: Hoare triple {4056#(<= |main_#t~post7| 2)} assume !(#t~post7 < 5);havoc #t~post7; {3905#false} is VALID [2022-04-27 13:22:28,727 INFO L272 TraceCheckUtils]: 50: Hoare triple {3905#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3905#false} is VALID [2022-04-27 13:22:28,727 INFO L290 TraceCheckUtils]: 51: Hoare triple {3905#false} ~cond := #in~cond; {3905#false} is VALID [2022-04-27 13:22:28,727 INFO L290 TraceCheckUtils]: 52: Hoare triple {3905#false} assume 0 == ~cond; {3905#false} is VALID [2022-04-27 13:22:28,727 INFO L290 TraceCheckUtils]: 53: Hoare triple {3905#false} assume !false; {3905#false} is VALID [2022-04-27 13:22:28,727 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 12 proven. 42 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:22:28,727 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:28,971 INFO L290 TraceCheckUtils]: 53: Hoare triple {3905#false} assume !false; {3905#false} is VALID [2022-04-27 13:22:28,971 INFO L290 TraceCheckUtils]: 52: Hoare triple {3905#false} assume 0 == ~cond; {3905#false} is VALID [2022-04-27 13:22:28,971 INFO L290 TraceCheckUtils]: 51: Hoare triple {3905#false} ~cond := #in~cond; {3905#false} is VALID [2022-04-27 13:22:28,971 INFO L272 TraceCheckUtils]: 50: Hoare triple {3905#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3905#false} is VALID [2022-04-27 13:22:28,971 INFO L290 TraceCheckUtils]: 49: Hoare triple {4084#(< |main_#t~post7| 5)} assume !(#t~post7 < 5);havoc #t~post7; {3905#false} is VALID [2022-04-27 13:22:28,972 INFO L290 TraceCheckUtils]: 48: Hoare triple {4088#(< ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4084#(< |main_#t~post7| 5)} is VALID [2022-04-27 13:22:28,972 INFO L290 TraceCheckUtils]: 47: Hoare triple {4088#(< ~counter~0 5)} assume !(~r~0 >= ~d~0); {4088#(< ~counter~0 5)} is VALID [2022-04-27 13:22:28,972 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3904#true} {4088#(< ~counter~0 5)} #86#return; {4088#(< ~counter~0 5)} is VALID [2022-04-27 13:22:28,972 INFO L290 TraceCheckUtils]: 45: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:28,972 INFO L290 TraceCheckUtils]: 44: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:28,973 INFO L290 TraceCheckUtils]: 43: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:28,973 INFO L272 TraceCheckUtils]: 42: Hoare triple {4088#(< ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:28,973 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3904#true} {4088#(< ~counter~0 5)} #84#return; {4088#(< ~counter~0 5)} is VALID [2022-04-27 13:22:28,973 INFO L290 TraceCheckUtils]: 40: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:28,973 INFO L290 TraceCheckUtils]: 39: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:28,973 INFO L290 TraceCheckUtils]: 38: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:28,973 INFO L272 TraceCheckUtils]: 37: Hoare triple {4088#(< ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:28,974 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3904#true} {4088#(< ~counter~0 5)} #82#return; {4088#(< ~counter~0 5)} is VALID [2022-04-27 13:22:28,975 INFO L290 TraceCheckUtils]: 35: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:28,975 INFO L290 TraceCheckUtils]: 34: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:28,975 INFO L290 TraceCheckUtils]: 33: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:28,975 INFO L272 TraceCheckUtils]: 32: Hoare triple {4088#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:28,975 INFO L290 TraceCheckUtils]: 31: Hoare triple {4088#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {4088#(< ~counter~0 5)} is VALID [2022-04-27 13:22:28,976 INFO L290 TraceCheckUtils]: 30: Hoare triple {4143#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4088#(< ~counter~0 5)} is VALID [2022-04-27 13:22:28,976 INFO L290 TraceCheckUtils]: 29: Hoare triple {4143#(< ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4143#(< ~counter~0 4)} is VALID [2022-04-27 13:22:28,976 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3904#true} {4143#(< ~counter~0 4)} #86#return; {4143#(< ~counter~0 4)} is VALID [2022-04-27 13:22:28,976 INFO L290 TraceCheckUtils]: 27: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:28,976 INFO L290 TraceCheckUtils]: 26: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:28,976 INFO L290 TraceCheckUtils]: 25: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:28,977 INFO L272 TraceCheckUtils]: 24: Hoare triple {4143#(< ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:28,977 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3904#true} {4143#(< ~counter~0 4)} #84#return; {4143#(< ~counter~0 4)} is VALID [2022-04-27 13:22:28,977 INFO L290 TraceCheckUtils]: 22: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:28,977 INFO L290 TraceCheckUtils]: 21: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:28,977 INFO L290 TraceCheckUtils]: 20: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:28,977 INFO L272 TraceCheckUtils]: 19: Hoare triple {4143#(< ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:28,978 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3904#true} {4143#(< ~counter~0 4)} #82#return; {4143#(< ~counter~0 4)} is VALID [2022-04-27 13:22:28,978 INFO L290 TraceCheckUtils]: 17: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:28,978 INFO L290 TraceCheckUtils]: 16: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:28,978 INFO L290 TraceCheckUtils]: 15: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:28,978 INFO L272 TraceCheckUtils]: 14: Hoare triple {4143#(< ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:28,978 INFO L290 TraceCheckUtils]: 13: Hoare triple {4143#(< ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {4143#(< ~counter~0 4)} is VALID [2022-04-27 13:22:28,979 INFO L290 TraceCheckUtils]: 12: Hoare triple {4001#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4143#(< ~counter~0 4)} is VALID [2022-04-27 13:22:28,979 INFO L290 TraceCheckUtils]: 11: Hoare triple {4001#(<= ~counter~0 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,979 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3904#true} {4001#(<= ~counter~0 2)} #80#return; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,979 INFO L290 TraceCheckUtils]: 9: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:28,979 INFO L290 TraceCheckUtils]: 8: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:28,979 INFO L290 TraceCheckUtils]: 7: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:28,979 INFO L272 TraceCheckUtils]: 6: Hoare triple {4001#(<= ~counter~0 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:28,980 INFO L290 TraceCheckUtils]: 5: Hoare triple {4001#(<= ~counter~0 2)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,980 INFO L272 TraceCheckUtils]: 4: Hoare triple {4001#(<= ~counter~0 2)} call #t~ret8 := main(); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,980 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4001#(<= ~counter~0 2)} {3904#true} #96#return; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,980 INFO L290 TraceCheckUtils]: 2: Hoare triple {4001#(<= ~counter~0 2)} assume true; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {3904#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:28,981 INFO L272 TraceCheckUtils]: 0: Hoare triple {3904#true} call ULTIMATE.init(); {3904#true} is VALID [2022-04-27 13:22:28,981 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:22:28,981 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:28,981 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [390852613] [2022-04-27 13:22:28,981 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:28,981 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1478088723] [2022-04-27 13:22:28,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1478088723] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:22:28,982 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:22:28,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-27 13:22:28,982 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [29882646] [2022-04-27 13:22:28,982 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:28,982 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (18), 5 states have call predecessors, (18), 4 states have return successors, (16), 5 states have call predecessors, (16), 6 states have call successors, (16) Word has length 54 [2022-04-27 13:22:28,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:28,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (18), 5 states have call predecessors, (18), 4 states have return successors, (16), 5 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-27 13:22:29,039 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-27 13:22:29,039 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:22:29,039 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:29,040 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:22:29,040 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:22:29,040 INFO L87 Difference]: Start difference. First operand 115 states and 132 transitions. Second operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (18), 5 states have call predecessors, (18), 4 states have return successors, (16), 5 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-27 13:22:29,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:29,471 INFO L93 Difference]: Finished difference Result 171 states and 200 transitions. [2022-04-27 13:22:29,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:22:29,471 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (18), 5 states have call predecessors, (18), 4 states have return successors, (16), 5 states have call predecessors, (16), 6 states have call successors, (16) Word has length 54 [2022-04-27 13:22:29,472 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:29,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (18), 5 states have call predecessors, (18), 4 states have return successors, (16), 5 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-27 13:22:29,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 137 transitions. [2022-04-27 13:22:29,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (18), 5 states have call predecessors, (18), 4 states have return successors, (16), 5 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-27 13:22:29,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 137 transitions. [2022-04-27 13:22:29,475 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 137 transitions. [2022-04-27 13:22:29,568 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:29,570 INFO L225 Difference]: With dead ends: 171 [2022-04-27 13:22:29,570 INFO L226 Difference]: Without dead ends: 157 [2022-04-27 13:22:29,570 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:22:29,571 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 73 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 78 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 247 SdHoareTripleChecker+Invalid, 111 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 78 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:29,571 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [73 Valid, 247 Invalid, 111 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 78 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:29,571 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 157 states. [2022-04-27 13:22:29,626 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 157 to 152. [2022-04-27 13:22:29,626 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:29,626 INFO L82 GeneralOperation]: Start isEquivalent. First operand 157 states. Second operand has 152 states, 97 states have (on average 1.1649484536082475) internal successors, (113), 102 states have internal predecessors, (113), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (30), 28 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:22:29,627 INFO L74 IsIncluded]: Start isIncluded. First operand 157 states. Second operand has 152 states, 97 states have (on average 1.1649484536082475) internal successors, (113), 102 states have internal predecessors, (113), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (30), 28 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:22:29,627 INFO L87 Difference]: Start difference. First operand 157 states. Second operand has 152 states, 97 states have (on average 1.1649484536082475) internal successors, (113), 102 states have internal predecessors, (113), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (30), 28 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:22:29,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:29,630 INFO L93 Difference]: Finished difference Result 157 states and 180 transitions. [2022-04-27 13:22:29,630 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 180 transitions. [2022-04-27 13:22:29,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:29,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:29,631 INFO L74 IsIncluded]: Start isIncluded. First operand has 152 states, 97 states have (on average 1.1649484536082475) internal successors, (113), 102 states have internal predecessors, (113), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (30), 28 states have call predecessors, (30), 30 states have call successors, (30) Second operand 157 states. [2022-04-27 13:22:29,631 INFO L87 Difference]: Start difference. First operand has 152 states, 97 states have (on average 1.1649484536082475) internal successors, (113), 102 states have internal predecessors, (113), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (30), 28 states have call predecessors, (30), 30 states have call successors, (30) Second operand 157 states. [2022-04-27 13:22:29,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:29,633 INFO L93 Difference]: Finished difference Result 157 states and 180 transitions. [2022-04-27 13:22:29,633 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 180 transitions. [2022-04-27 13:22:29,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:29,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:29,634 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:29,634 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:29,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 152 states, 97 states have (on average 1.1649484536082475) internal successors, (113), 102 states have internal predecessors, (113), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (30), 28 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:22:29,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 177 transitions. [2022-04-27 13:22:29,637 INFO L78 Accepts]: Start accepts. Automaton has 152 states and 177 transitions. Word has length 54 [2022-04-27 13:22:29,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:29,637 INFO L495 AbstractCegarLoop]: Abstraction has 152 states and 177 transitions. [2022-04-27 13:22:29,637 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (18), 5 states have call predecessors, (18), 4 states have return successors, (16), 5 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-27 13:22:29,637 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 177 transitions. [2022-04-27 13:22:29,637 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 13:22:29,637 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:29,638 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:29,654 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-27 13:22:29,851 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:29,852 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:29,852 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:29,852 INFO L85 PathProgramCache]: Analyzing trace with hash 244774449, now seen corresponding path program 1 times [2022-04-27 13:22:29,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:29,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1173995753] [2022-04-27 13:22:29,852 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:29,852 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:29,861 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:29,861 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1853337554] [2022-04-27 13:22:29,861 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:29,861 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:29,861 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:29,862 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-27 13:22:29,863 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-27 13:22:29,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:29,907 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 13:22:29,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:29,916 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:34,246 INFO L272 TraceCheckUtils]: 0: Hoare triple {5004#true} call ULTIMATE.init(); {5004#true} is VALID [2022-04-27 13:22:34,246 INFO L290 TraceCheckUtils]: 1: Hoare triple {5004#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5004#true} is VALID [2022-04-27 13:22:34,246 INFO L290 TraceCheckUtils]: 2: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:34,246 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5004#true} {5004#true} #96#return; {5004#true} is VALID [2022-04-27 13:22:34,246 INFO L272 TraceCheckUtils]: 4: Hoare triple {5004#true} call #t~ret8 := main(); {5004#true} is VALID [2022-04-27 13:22:34,246 INFO L290 TraceCheckUtils]: 5: Hoare triple {5004#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5004#true} is VALID [2022-04-27 13:22:34,246 INFO L272 TraceCheckUtils]: 6: Hoare triple {5004#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5004#true} is VALID [2022-04-27 13:22:34,246 INFO L290 TraceCheckUtils]: 7: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:34,246 INFO L290 TraceCheckUtils]: 8: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:34,246 INFO L290 TraceCheckUtils]: 9: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:34,246 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5004#true} {5004#true} #80#return; {5004#true} is VALID [2022-04-27 13:22:34,247 INFO L290 TraceCheckUtils]: 11: Hoare triple {5004#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:34,247 INFO L290 TraceCheckUtils]: 12: Hoare triple {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:34,248 INFO L290 TraceCheckUtils]: 13: Hoare triple {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:34,248 INFO L272 TraceCheckUtils]: 14: Hoare triple {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5004#true} is VALID [2022-04-27 13:22:34,248 INFO L290 TraceCheckUtils]: 15: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:34,248 INFO L290 TraceCheckUtils]: 16: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:34,248 INFO L290 TraceCheckUtils]: 17: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:34,248 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5004#true} {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:34,249 INFO L272 TraceCheckUtils]: 19: Hoare triple {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5004#true} is VALID [2022-04-27 13:22:34,249 INFO L290 TraceCheckUtils]: 20: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:34,249 INFO L290 TraceCheckUtils]: 21: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:34,249 INFO L290 TraceCheckUtils]: 22: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:34,249 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5004#true} {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:34,249 INFO L272 TraceCheckUtils]: 24: Hoare triple {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5004#true} is VALID [2022-04-27 13:22:34,249 INFO L290 TraceCheckUtils]: 25: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:34,250 INFO L290 TraceCheckUtils]: 26: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:34,250 INFO L290 TraceCheckUtils]: 27: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:34,250 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5004#true} {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:34,251 INFO L290 TraceCheckUtils]: 29: Hoare triple {5042#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:34,252 INFO L290 TraceCheckUtils]: 30: Hoare triple {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:34,252 INFO L290 TraceCheckUtils]: 31: Hoare triple {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:34,252 INFO L272 TraceCheckUtils]: 32: Hoare triple {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5004#true} is VALID [2022-04-27 13:22:34,252 INFO L290 TraceCheckUtils]: 33: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:34,252 INFO L290 TraceCheckUtils]: 34: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:34,252 INFO L290 TraceCheckUtils]: 35: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:34,253 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5004#true} {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #82#return; {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:34,253 INFO L272 TraceCheckUtils]: 37: Hoare triple {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5004#true} is VALID [2022-04-27 13:22:34,253 INFO L290 TraceCheckUtils]: 38: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:34,253 INFO L290 TraceCheckUtils]: 39: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:34,253 INFO L290 TraceCheckUtils]: 40: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:34,254 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5004#true} {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #84#return; {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:34,254 INFO L272 TraceCheckUtils]: 42: Hoare triple {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5004#true} is VALID [2022-04-27 13:22:34,254 INFO L290 TraceCheckUtils]: 43: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:34,254 INFO L290 TraceCheckUtils]: 44: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:34,254 INFO L290 TraceCheckUtils]: 45: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:34,255 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5004#true} {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #86#return; {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:34,256 INFO L290 TraceCheckUtils]: 47: Hoare triple {5097#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {5152#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:34,256 INFO L290 TraceCheckUtils]: 48: Hoare triple {5152#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5152#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:34,256 INFO L290 TraceCheckUtils]: 49: Hoare triple {5152#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} assume !!(#t~post7 < 5);havoc #t~post7; {5152#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:34,257 INFO L272 TraceCheckUtils]: 50: Hoare triple {5152#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5162#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:34,257 INFO L290 TraceCheckUtils]: 51: Hoare triple {5162#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5166#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:34,258 INFO L290 TraceCheckUtils]: 52: Hoare triple {5166#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5005#false} is VALID [2022-04-27 13:22:34,258 INFO L290 TraceCheckUtils]: 53: Hoare triple {5005#false} assume !false; {5005#false} is VALID [2022-04-27 13:22:34,258 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:22:34,258 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:35,282 INFO L290 TraceCheckUtils]: 53: Hoare triple {5005#false} assume !false; {5005#false} is VALID [2022-04-27 13:22:35,283 INFO L290 TraceCheckUtils]: 52: Hoare triple {5166#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5005#false} is VALID [2022-04-27 13:22:35,283 INFO L290 TraceCheckUtils]: 51: Hoare triple {5162#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5166#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:35,284 INFO L272 TraceCheckUtils]: 50: Hoare triple {5182#(= (+ 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)); {5162#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:35,284 INFO L290 TraceCheckUtils]: 49: Hoare triple {5182#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 5);havoc #t~post7; {5182#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:35,284 INFO L290 TraceCheckUtils]: 48: Hoare triple {5182#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5182#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:35,285 INFO L290 TraceCheckUtils]: 47: Hoare triple {5192#(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); {5182#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:35,285 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5004#true} {5192#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #86#return; {5192#(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-27 13:22:35,285 INFO L290 TraceCheckUtils]: 45: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:35,285 INFO L290 TraceCheckUtils]: 44: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:35,285 INFO L290 TraceCheckUtils]: 43: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:35,285 INFO L272 TraceCheckUtils]: 42: Hoare triple {5192#(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)); {5004#true} is VALID [2022-04-27 13:22:35,286 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5004#true} {5192#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #84#return; {5192#(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-27 13:22:35,286 INFO L290 TraceCheckUtils]: 40: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:35,286 INFO L290 TraceCheckUtils]: 39: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:35,286 INFO L290 TraceCheckUtils]: 38: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:35,286 INFO L272 TraceCheckUtils]: 37: Hoare triple {5192#(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)); {5004#true} is VALID [2022-04-27 13:22:35,287 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5004#true} {5192#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #82#return; {5192#(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-27 13:22:35,287 INFO L290 TraceCheckUtils]: 35: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:35,287 INFO L290 TraceCheckUtils]: 34: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:35,287 INFO L290 TraceCheckUtils]: 33: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:35,287 INFO L272 TraceCheckUtils]: 32: Hoare triple {5192#(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)); {5004#true} is VALID [2022-04-27 13:22:35,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {5192#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {5192#(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-27 13:22:35,288 INFO L290 TraceCheckUtils]: 30: Hoare triple {5192#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5192#(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-27 13:22:35,289 INFO L290 TraceCheckUtils]: 29: Hoare triple {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5192#(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-27 13:22:35,289 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5004#true} {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #86#return; {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:22:35,289 INFO L290 TraceCheckUtils]: 27: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:35,289 INFO L290 TraceCheckUtils]: 26: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:35,289 INFO L290 TraceCheckUtils]: 25: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:35,290 INFO L272 TraceCheckUtils]: 24: Hoare triple {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5004#true} is VALID [2022-04-27 13:22:35,290 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5004#true} {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #84#return; {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:22:35,290 INFO L290 TraceCheckUtils]: 22: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:35,290 INFO L290 TraceCheckUtils]: 21: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:35,290 INFO L290 TraceCheckUtils]: 20: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:35,290 INFO L272 TraceCheckUtils]: 19: Hoare triple {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5004#true} is VALID [2022-04-27 13:22:35,291 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5004#true} {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #82#return; {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:22:35,291 INFO L290 TraceCheckUtils]: 17: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:35,291 INFO L290 TraceCheckUtils]: 16: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:35,291 INFO L290 TraceCheckUtils]: 15: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:35,291 INFO L272 TraceCheckUtils]: 14: Hoare triple {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5004#true} is VALID [2022-04-27 13:22:35,292 INFO L290 TraceCheckUtils]: 13: Hoare triple {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:22:35,292 INFO L290 TraceCheckUtils]: 12: Hoare triple {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:22:35,292 INFO L290 TraceCheckUtils]: 11: Hoare triple {5004#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5247#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:22:35,293 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5004#true} {5004#true} #80#return; {5004#true} is VALID [2022-04-27 13:22:35,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:35,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {5004#true} assume !(0 == ~cond); {5004#true} is VALID [2022-04-27 13:22:35,293 INFO L290 TraceCheckUtils]: 7: Hoare triple {5004#true} ~cond := #in~cond; {5004#true} is VALID [2022-04-27 13:22:35,293 INFO L272 TraceCheckUtils]: 6: Hoare triple {5004#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5004#true} is VALID [2022-04-27 13:22:35,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {5004#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5004#true} is VALID [2022-04-27 13:22:35,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {5004#true} call #t~ret8 := main(); {5004#true} is VALID [2022-04-27 13:22:35,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5004#true} {5004#true} #96#return; {5004#true} is VALID [2022-04-27 13:22:35,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {5004#true} assume true; {5004#true} is VALID [2022-04-27 13:22:35,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {5004#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5004#true} is VALID [2022-04-27 13:22:35,293 INFO L272 TraceCheckUtils]: 0: Hoare triple {5004#true} call ULTIMATE.init(); {5004#true} is VALID [2022-04-27 13:22:35,294 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:22:35,294 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:35,294 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1173995753] [2022-04-27 13:22:35,294 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:35,294 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1853337554] [2022-04-27 13:22:35,294 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1853337554] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:22:35,294 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:22:35,294 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 13:22:35,294 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [270246325] [2022-04-27 13:22:35,294 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:35,295 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 54 [2022-04-27 13:22:35,295 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:35,295 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:35,347 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:35,347 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:22:35,347 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:35,353 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:22:35,353 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:35,353 INFO L87 Difference]: Start difference. First operand 152 states and 177 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:38,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:38,550 INFO L93 Difference]: Finished difference Result 207 states and 256 transitions. [2022-04-27 13:22:38,550 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:22:38,550 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 54 [2022-04-27 13:22:38,550 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:38,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:38,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-27 13:22:38,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:38,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-27 13:22:38,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 117 transitions. [2022-04-27 13:22:38,674 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-27 13:22:38,677 INFO L225 Difference]: With dead ends: 207 [2022-04-27 13:22:38,677 INFO L226 Difference]: Without dead ends: 203 [2022-04-27 13:22:38,678 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 98 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:22:38,678 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 60 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 200 mSolverCounterSat, 48 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 69 SdHoareTripleChecker+Valid, 225 SdHoareTripleChecker+Invalid, 248 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 48 IncrementalHoareTripleChecker+Valid, 200 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:38,678 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [69 Valid, 225 Invalid, 248 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [48 Valid, 200 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-27 13:22:38,679 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 203 states. [2022-04-27 13:22:38,747 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 203 to 188. [2022-04-27 13:22:38,747 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:38,747 INFO L82 GeneralOperation]: Start isEquivalent. First operand 203 states. Second operand has 188 states, 123 states have (on average 1.2032520325203253) internal successors, (148), 128 states have internal predecessors, (148), 42 states have call successors, (42), 24 states have call predecessors, (42), 22 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-27 13:22:38,747 INFO L74 IsIncluded]: Start isIncluded. First operand 203 states. Second operand has 188 states, 123 states have (on average 1.2032520325203253) internal successors, (148), 128 states have internal predecessors, (148), 42 states have call successors, (42), 24 states have call predecessors, (42), 22 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-27 13:22:38,748 INFO L87 Difference]: Start difference. First operand 203 states. Second operand has 188 states, 123 states have (on average 1.2032520325203253) internal successors, (148), 128 states have internal predecessors, (148), 42 states have call successors, (42), 24 states have call predecessors, (42), 22 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-27 13:22:38,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:38,752 INFO L93 Difference]: Finished difference Result 203 states and 250 transitions. [2022-04-27 13:22:38,752 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 250 transitions. [2022-04-27 13:22:38,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:38,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:38,753 INFO L74 IsIncluded]: Start isIncluded. First operand has 188 states, 123 states have (on average 1.2032520325203253) internal successors, (148), 128 states have internal predecessors, (148), 42 states have call successors, (42), 24 states have call predecessors, (42), 22 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) Second operand 203 states. [2022-04-27 13:22:38,753 INFO L87 Difference]: Start difference. First operand has 188 states, 123 states have (on average 1.2032520325203253) internal successors, (148), 128 states have internal predecessors, (148), 42 states have call successors, (42), 24 states have call predecessors, (42), 22 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) Second operand 203 states. [2022-04-27 13:22:38,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:38,756 INFO L93 Difference]: Finished difference Result 203 states and 250 transitions. [2022-04-27 13:22:38,756 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 250 transitions. [2022-04-27 13:22:38,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:38,757 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:38,757 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:38,757 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:38,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 188 states, 123 states have (on average 1.2032520325203253) internal successors, (148), 128 states have internal predecessors, (148), 42 states have call successors, (42), 24 states have call predecessors, (42), 22 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-27 13:22:38,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 188 states to 188 states and 228 transitions. [2022-04-27 13:22:38,760 INFO L78 Accepts]: Start accepts. Automaton has 188 states and 228 transitions. Word has length 54 [2022-04-27 13:22:38,761 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:38,761 INFO L495 AbstractCegarLoop]: Abstraction has 188 states and 228 transitions. [2022-04-27 13:22:38,761 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:38,761 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-27 13:22:38,761 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-27 13:22:38,761 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:38,761 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:38,785 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-27 13:22:38,975 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-27 13:22:38,975 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:38,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:38,976 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 1 times [2022-04-27 13:22:38,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:38,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [20132650] [2022-04-27 13:22:38,976 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:38,976 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:38,991 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:38,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1471727521] [2022-04-27 13:22:38,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:38,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:38,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:38,993 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-27 13:22:38,994 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-27 13:22:39,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:39,056 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-27 13:22:39,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:39,070 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:45,341 INFO L272 TraceCheckUtils]: 0: Hoare triple {6296#true} call ULTIMATE.init(); {6296#true} is VALID [2022-04-27 13:22:45,341 INFO L290 TraceCheckUtils]: 1: Hoare triple {6296#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6296#true} is VALID [2022-04-27 13:22:45,341 INFO L290 TraceCheckUtils]: 2: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:22:45,342 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6296#true} {6296#true} #96#return; {6296#true} is VALID [2022-04-27 13:22:45,342 INFO L272 TraceCheckUtils]: 4: Hoare triple {6296#true} call #t~ret8 := main(); {6296#true} is VALID [2022-04-27 13:22:45,342 INFO L290 TraceCheckUtils]: 5: Hoare triple {6296#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6296#true} is VALID [2022-04-27 13:22:45,342 INFO L272 TraceCheckUtils]: 6: Hoare triple {6296#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:22:45,342 INFO L290 TraceCheckUtils]: 7: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:22:45,342 INFO L290 TraceCheckUtils]: 8: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:22:45,342 INFO L290 TraceCheckUtils]: 9: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:22:45,342 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6296#true} {6296#true} #80#return; {6296#true} is VALID [2022-04-27 13:22:45,343 INFO L290 TraceCheckUtils]: 11: Hoare triple {6296#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:45,343 INFO L290 TraceCheckUtils]: 12: Hoare triple {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:45,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:45,344 INFO L272 TraceCheckUtils]: 14: Hoare triple {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:22:45,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:22:45,344 INFO L290 TraceCheckUtils]: 16: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:22:45,344 INFO L290 TraceCheckUtils]: 17: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:22:45,345 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6296#true} {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:45,345 INFO L272 TraceCheckUtils]: 19: Hoare triple {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:22:45,345 INFO L290 TraceCheckUtils]: 20: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:22:45,345 INFO L290 TraceCheckUtils]: 21: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:22:45,345 INFO L290 TraceCheckUtils]: 22: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:22:45,346 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6296#true} {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:45,346 INFO L272 TraceCheckUtils]: 24: Hoare triple {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:22:45,346 INFO L290 TraceCheckUtils]: 25: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:22:45,346 INFO L290 TraceCheckUtils]: 26: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:22:45,346 INFO L290 TraceCheckUtils]: 27: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:22:45,347 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6296#true} {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:45,348 INFO L290 TraceCheckUtils]: 29: Hoare triple {6334#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:45,349 INFO L290 TraceCheckUtils]: 30: Hoare triple {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:45,349 INFO L290 TraceCheckUtils]: 31: Hoare triple {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:45,349 INFO L272 TraceCheckUtils]: 32: Hoare triple {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:22:45,349 INFO L290 TraceCheckUtils]: 33: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:22:45,350 INFO L290 TraceCheckUtils]: 34: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:22:45,350 INFO L290 TraceCheckUtils]: 35: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:22:45,350 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6296#true} {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #82#return; {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:45,350 INFO L272 TraceCheckUtils]: 37: Hoare triple {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:22:45,350 INFO L290 TraceCheckUtils]: 38: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:22:45,350 INFO L290 TraceCheckUtils]: 39: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:22:45,351 INFO L290 TraceCheckUtils]: 40: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:22:45,351 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6296#true} {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #84#return; {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:45,351 INFO L272 TraceCheckUtils]: 42: Hoare triple {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 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)); {6296#true} is VALID [2022-04-27 13:22:45,351 INFO L290 TraceCheckUtils]: 43: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:22:45,351 INFO L290 TraceCheckUtils]: 44: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:22:45,352 INFO L290 TraceCheckUtils]: 45: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:22:45,352 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6296#true} {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #86#return; {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:45,353 INFO L290 TraceCheckUtils]: 47: Hoare triple {6389#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {6444#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:45,353 INFO L290 TraceCheckUtils]: 48: Hoare triple {6444#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6444#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:45,354 INFO L290 TraceCheckUtils]: 49: Hoare triple {6444#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 5);havoc #t~post7; {6444#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:45,354 INFO L272 TraceCheckUtils]: 50: Hoare triple {6444#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 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)); {6296#true} is VALID [2022-04-27 13:22:45,354 INFO L290 TraceCheckUtils]: 51: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:22:45,354 INFO L290 TraceCheckUtils]: 52: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:22:45,354 INFO L290 TraceCheckUtils]: 53: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:22:45,355 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6296#true} {6444#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #88#return; {6444#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:45,355 INFO L272 TraceCheckUtils]: 55: Hoare triple {6444#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 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)); {6296#true} is VALID [2022-04-27 13:22:45,355 INFO L290 TraceCheckUtils]: 56: Hoare triple {6296#true} ~cond := #in~cond; {6472#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:45,356 INFO L290 TraceCheckUtils]: 57: Hoare triple {6472#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:45,356 INFO L290 TraceCheckUtils]: 58: Hoare triple {6476#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:45,357 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6476#(not (= |__VERIFIER_assert_#in~cond| 0))} {6444#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #90#return; {6483#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:45,358 INFO L290 TraceCheckUtils]: 60: Hoare triple {6483#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 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); {6487#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:45,360 INFO L290 TraceCheckUtils]: 61: Hoare triple {6487#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 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; {6491#(and (<= (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) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:22:45,360 INFO L290 TraceCheckUtils]: 62: Hoare triple {6491#(and (<= (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) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6491#(and (<= (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) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:22:45,361 INFO L290 TraceCheckUtils]: 63: Hoare triple {6491#(and (<= (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) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 5);havoc #t~post7; {6491#(and (<= (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) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:22:45,361 INFO L272 TraceCheckUtils]: 64: Hoare triple {6491#(and (<= (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) (< (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)); {6501#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:45,362 INFO L290 TraceCheckUtils]: 65: Hoare triple {6501#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6505#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:45,362 INFO L290 TraceCheckUtils]: 66: Hoare triple {6505#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6297#false} is VALID [2022-04-27 13:22:45,362 INFO L290 TraceCheckUtils]: 67: Hoare triple {6297#false} assume !false; {6297#false} is VALID [2022-04-27 13:22:45,363 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 36 proven. 10 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-27 13:22:45,363 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:23:28,843 WARN L232 SmtUtils]: Spent 21.72s on a formula simplification that was a NOOP. DAG size: 53 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:25:05,858 WARN L232 SmtUtils]: Spent 25.21s on a formula simplification that was a NOOP. DAG size: 54 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:26:25,683 INFO L290 TraceCheckUtils]: 67: Hoare triple {6297#false} assume !false; {6297#false} is VALID [2022-04-27 13:26:25,684 INFO L290 TraceCheckUtils]: 66: Hoare triple {6505#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6297#false} is VALID [2022-04-27 13:26:25,684 INFO L290 TraceCheckUtils]: 65: Hoare triple {6501#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6505#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:26:25,684 INFO L272 TraceCheckUtils]: 64: Hoare triple {6521#(= (+ 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)); {6501#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:26:25,685 INFO L290 TraceCheckUtils]: 63: Hoare triple {6521#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 5);havoc #t~post7; {6521#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:26:25,685 INFO L290 TraceCheckUtils]: 62: Hoare triple {6521#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6521#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:26:25,687 INFO L290 TraceCheckUtils]: 61: Hoare triple {6531#(= (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; {6521#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:26:25,696 INFO L290 TraceCheckUtils]: 60: Hoare triple {6535#(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); {6531#(= (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-27 13:26:25,698 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6476#(not (= |__VERIFIER_assert_#in~cond| 0))} {6539#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #90#return; {6535#(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-27 13:26:25,699 INFO L290 TraceCheckUtils]: 58: Hoare triple {6476#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:26:25,699 INFO L290 TraceCheckUtils]: 57: Hoare triple {6549#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6476#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:26:25,699 INFO L290 TraceCheckUtils]: 56: Hoare triple {6296#true} ~cond := #in~cond; {6549#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:26:25,700 INFO L272 TraceCheckUtils]: 55: Hoare triple {6539#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:26:25,700 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6296#true} {6539#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #88#return; {6539#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:26:25,700 INFO L290 TraceCheckUtils]: 53: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:26:25,700 INFO L290 TraceCheckUtils]: 52: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:26:25,701 INFO L290 TraceCheckUtils]: 51: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:26:25,701 INFO L272 TraceCheckUtils]: 50: Hoare triple {6539#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= 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)); {6296#true} is VALID [2022-04-27 13:26:25,702 INFO L290 TraceCheckUtils]: 49: Hoare triple {6539#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} assume !!(#t~post7 < 5);havoc #t~post7; {6539#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:26:25,703 INFO L290 TraceCheckUtils]: 48: Hoare triple {6539#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6539#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:26:25,704 INFO L290 TraceCheckUtils]: 47: Hoare triple {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {6539#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:26:25,705 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6296#true} {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #86#return; {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:25,705 INFO L290 TraceCheckUtils]: 45: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:26:25,705 INFO L290 TraceCheckUtils]: 44: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:26:25,705 INFO L290 TraceCheckUtils]: 43: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:26:25,705 INFO L272 TraceCheckUtils]: 42: Hoare triple {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (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)); {6296#true} is VALID [2022-04-27 13:26:25,706 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6296#true} {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #84#return; {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:25,706 INFO L290 TraceCheckUtils]: 40: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:26:25,706 INFO L290 TraceCheckUtils]: 39: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:26:25,706 INFO L290 TraceCheckUtils]: 38: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:26:25,706 INFO L272 TraceCheckUtils]: 37: Hoare triple {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:26:25,707 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6296#true} {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #82#return; {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:25,707 INFO L290 TraceCheckUtils]: 35: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:26:25,707 INFO L290 TraceCheckUtils]: 34: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:26:25,707 INFO L290 TraceCheckUtils]: 33: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:26:25,707 INFO L272 TraceCheckUtils]: 32: Hoare triple {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:26:25,708 INFO L290 TraceCheckUtils]: 31: Hoare triple {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:25,709 INFO L290 TraceCheckUtils]: 30: Hoare triple {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:25,714 INFO L290 TraceCheckUtils]: 29: Hoare triple {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6577#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:25,714 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6296#true} {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} #86#return; {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:26:25,714 INFO L290 TraceCheckUtils]: 27: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:26:25,714 INFO L290 TraceCheckUtils]: 26: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:26:25,714 INFO L290 TraceCheckUtils]: 25: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:26:25,714 INFO L272 TraceCheckUtils]: 24: Hoare triple {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:26:25,715 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6296#true} {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} #84#return; {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:26:25,715 INFO L290 TraceCheckUtils]: 22: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:26:25,715 INFO L290 TraceCheckUtils]: 21: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:26:25,715 INFO L290 TraceCheckUtils]: 20: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:26:25,715 INFO L272 TraceCheckUtils]: 19: Hoare triple {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:26:25,716 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6296#true} {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} #82#return; {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:26:25,725 INFO L290 TraceCheckUtils]: 17: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:26:25,726 INFO L290 TraceCheckUtils]: 16: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:26:25,726 INFO L290 TraceCheckUtils]: 15: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:26:25,726 INFO L272 TraceCheckUtils]: 14: Hoare triple {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:26:25,727 INFO L290 TraceCheckUtils]: 13: Hoare triple {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:26:25,727 INFO L290 TraceCheckUtils]: 12: Hoare triple {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:26:25,728 INFO L290 TraceCheckUtils]: 11: Hoare triple {6296#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6632#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:26:25,728 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6296#true} {6296#true} #80#return; {6296#true} is VALID [2022-04-27 13:26:25,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:26:25,728 INFO L290 TraceCheckUtils]: 8: Hoare triple {6296#true} assume !(0 == ~cond); {6296#true} is VALID [2022-04-27 13:26:25,728 INFO L290 TraceCheckUtils]: 7: Hoare triple {6296#true} ~cond := #in~cond; {6296#true} is VALID [2022-04-27 13:26:25,728 INFO L272 TraceCheckUtils]: 6: Hoare triple {6296#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6296#true} is VALID [2022-04-27 13:26:25,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {6296#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6296#true} is VALID [2022-04-27 13:26:25,729 INFO L272 TraceCheckUtils]: 4: Hoare triple {6296#true} call #t~ret8 := main(); {6296#true} is VALID [2022-04-27 13:26:25,729 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6296#true} {6296#true} #96#return; {6296#true} is VALID [2022-04-27 13:26:25,729 INFO L290 TraceCheckUtils]: 2: Hoare triple {6296#true} assume true; {6296#true} is VALID [2022-04-27 13:26:25,729 INFO L290 TraceCheckUtils]: 1: Hoare triple {6296#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6296#true} is VALID [2022-04-27 13:26:25,729 INFO L272 TraceCheckUtils]: 0: Hoare triple {6296#true} call ULTIMATE.init(); {6296#true} is VALID [2022-04-27 13:26:25,730 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 36 proven. 10 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-27 13:26:25,730 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:26:25,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [20132650] [2022-04-27 13:26:25,730 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:26:25,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1471727521] [2022-04-27 13:26:25,730 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1471727521] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:26:25,730 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:26:25,730 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-27 13:26:25,731 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [861590733] [2022-04-27 13:26:25,731 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:26:25,731 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) Word has length 68 [2022-04-27 13:26:25,732 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:26:25,732 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:26:25,832 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:26:25,832 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 13:26:25,832 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:26:25,832 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 13:26:25,833 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=272, Unknown=0, NotChecked=0, Total=342 [2022-04-27 13:26:25,833 INFO L87 Difference]: Start difference. First operand 188 states and 228 transitions. Second operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:26:42,296 WARN L232 SmtUtils]: Spent 5.67s on a formula simplification. DAG size of input: 57 DAG size of output: 27 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:26:52,776 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-27 13:26:59,052 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse12 (mod c_main_~B~0 4294967296))) (let ((.cse2 (mod c_main_~A~0 4294967296)) (.cse0 (<= c_main_~d~0 c_main_~r~0)) (.cse1 (* c_main_~p~0 .cse12))) (and (or .cse0 (not (= c_main_~d~0 .cse1)) (let ((.cse5 (= (mod c_main_~p~0 2) 0)) (.cse11 (div c_main_~p~0 2))) (let ((.cse7 (* (+ c_main_~q~0 .cse11) .cse12)) (.cse8 (not .cse5)) (.cse3 (* (- 1) (div c_main_~d~0 2))) (.cse4 (* (+ c_main_~q~0 .cse11 1) .cse12)) (.cse10 (= (mod c_main_~d~0 2) 0)) (.cse9 (< c_main_~d~0 0))) (and (or (let ((.cse6 (< c_main_~p~0 0))) (and (or (= .cse2 (+ c_main_~r~0 .cse3 .cse4)) .cse5 (not .cse6)) (or (= .cse2 (+ .cse7 c_main_~r~0 .cse3)) (and .cse8 .cse6)))) (and .cse9 (not .cse10))) (or (and (or (= .cse2 (+ (- 1) .cse7 c_main_~r~0 .cse3)) .cse8) (or .cse5 (= .cse2 (+ (- 1) c_main_~r~0 .cse3 .cse4)))) .cse10 (not .cse9)))))) (let ((.cse13 (* 2 c_main_~p~0))) (let ((.cse14 (* .cse13 .cse12))) (or (= .cse2 (+ (* (+ c_main_~q~0 (div .cse13 2)) .cse12) (* (- 1) (div .cse14 2)) c_main_~r~0)) (not (= .cse14 (* 2 c_main_~d~0))) (not .cse0) (<= (* 2 .cse1) c_main_~r~0))))))) is different from true [2022-04-27 13:27:05,808 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-27 13:27:08,261 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-27 13:27:08,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:27:08,270 INFO L93 Difference]: Finished difference Result 269 states and 335 transitions. [2022-04-27 13:27:08,270 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-27 13:27:08,270 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) Word has length 68 [2022-04-27 13:27:08,270 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:27:08,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:27:08,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 157 transitions. [2022-04-27 13:27:08,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:27:08,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 157 transitions. [2022-04-27 13:27:08,275 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 157 transitions. [2022-04-27 13:27:09,219 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:27:09,223 INFO L225 Difference]: With dead ends: 269 [2022-04-27 13:27:09,223 INFO L226 Difference]: Without dead ends: 216 [2022-04-27 13:27:09,223 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 117 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 116 ImplicationChecksByTransitivity, 65.2s TimeCoverageRelationStatistics Valid=129, Invalid=520, Unknown=5, NotChecked=48, Total=702 [2022-04-27 13:27:09,224 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 95 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 438 mSolverCounterSat, 155 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 104 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 602 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 155 IncrementalHoareTripleChecker+Valid, 438 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 6 IncrementalHoareTripleChecker+Unchecked, 12.5s IncrementalHoareTripleChecker+Time [2022-04-27 13:27:09,224 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [104 Valid, 203 Invalid, 602 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [155 Valid, 438 Invalid, 3 Unknown, 6 Unchecked, 12.5s Time] [2022-04-27 13:27:09,224 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2022-04-27 13:27:09,285 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 193. [2022-04-27 13:27:09,285 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:27:09,285 INFO L82 GeneralOperation]: Start isEquivalent. First operand 216 states. Second operand has 193 states, 129 states have (on average 1.178294573643411) internal successors, (152), 134 states have internal predecessors, (152), 39 states have call successors, (39), 25 states have call predecessors, (39), 24 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-27 13:27:09,286 INFO L74 IsIncluded]: Start isIncluded. First operand 216 states. Second operand has 193 states, 129 states have (on average 1.178294573643411) internal successors, (152), 134 states have internal predecessors, (152), 39 states have call successors, (39), 25 states have call predecessors, (39), 24 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-27 13:27:09,286 INFO L87 Difference]: Start difference. First operand 216 states. Second operand has 193 states, 129 states have (on average 1.178294573643411) internal successors, (152), 134 states have internal predecessors, (152), 39 states have call successors, (39), 25 states have call predecessors, (39), 24 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-27 13:27:09,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:27:09,291 INFO L93 Difference]: Finished difference Result 216 states and 264 transitions. [2022-04-27 13:27:09,291 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 264 transitions. [2022-04-27 13:27:09,291 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:27:09,291 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:27:09,291 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 129 states have (on average 1.178294573643411) internal successors, (152), 134 states have internal predecessors, (152), 39 states have call successors, (39), 25 states have call predecessors, (39), 24 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) Second operand 216 states. [2022-04-27 13:27:09,292 INFO L87 Difference]: Start difference. First operand has 193 states, 129 states have (on average 1.178294573643411) internal successors, (152), 134 states have internal predecessors, (152), 39 states have call successors, (39), 25 states have call predecessors, (39), 24 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) Second operand 216 states. [2022-04-27 13:27:09,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:27:09,296 INFO L93 Difference]: Finished difference Result 216 states and 264 transitions. [2022-04-27 13:27:09,296 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 264 transitions. [2022-04-27 13:27:09,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:27:09,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:27:09,296 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:27:09,296 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:27:09,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 129 states have (on average 1.178294573643411) internal successors, (152), 134 states have internal predecessors, (152), 39 states have call successors, (39), 25 states have call predecessors, (39), 24 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-27 13:27:09,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 227 transitions. [2022-04-27 13:27:09,300 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 227 transitions. Word has length 68 [2022-04-27 13:27:09,300 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:27:09,300 INFO L495 AbstractCegarLoop]: Abstraction has 193 states and 227 transitions. [2022-04-27 13:27:09,301 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:27:09,301 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 227 transitions. [2022-04-27 13:27:09,301 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-27 13:27:09,301 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:27:09,301 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:27:09,320 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-27 13:27:09,520 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:27:09,520 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:27:09,520 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:27:09,520 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 1 times [2022-04-27 13:27:09,520 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:27:09,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1045428772] [2022-04-27 13:27:09,521 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:27:09,521 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:27:09,529 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:27:09,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1257828617] [2022-04-27 13:27:09,529 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:27:09,529 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:27:09,530 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:27:09,533 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-27 13:27:09,535 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-27 13:27:09,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:27:09,577 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-27 13:27:09,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:27:09,590 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:27:14,204 INFO L272 TraceCheckUtils]: 0: Hoare triple {7806#true} call ULTIMATE.init(); {7806#true} is VALID [2022-04-27 13:27:14,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {7806#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7806#true} is VALID [2022-04-27 13:27:14,204 INFO L290 TraceCheckUtils]: 2: Hoare triple {7806#true} assume true; {7806#true} is VALID [2022-04-27 13:27:14,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7806#true} {7806#true} #96#return; {7806#true} is VALID [2022-04-27 13:27:14,204 INFO L272 TraceCheckUtils]: 4: Hoare triple {7806#true} call #t~ret8 := main(); {7806#true} is VALID [2022-04-27 13:27:14,204 INFO L290 TraceCheckUtils]: 5: Hoare triple {7806#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {7806#true} is VALID [2022-04-27 13:27:14,204 INFO L272 TraceCheckUtils]: 6: Hoare triple {7806#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7806#true} is VALID [2022-04-27 13:27:14,204 INFO L290 TraceCheckUtils]: 7: Hoare triple {7806#true} ~cond := #in~cond; {7806#true} is VALID [2022-04-27 13:27:14,204 INFO L290 TraceCheckUtils]: 8: Hoare triple {7806#true} assume !(0 == ~cond); {7806#true} is VALID [2022-04-27 13:27:14,205 INFO L290 TraceCheckUtils]: 9: Hoare triple {7806#true} assume true; {7806#true} is VALID [2022-04-27 13:27:14,205 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7806#true} {7806#true} #80#return; {7806#true} is VALID [2022-04-27 13:27:14,205 INFO L290 TraceCheckUtils]: 11: Hoare triple {7806#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:14,205 INFO L290 TraceCheckUtils]: 12: Hoare triple {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:14,206 INFO L290 TraceCheckUtils]: 13: Hoare triple {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:14,206 INFO L272 TraceCheckUtils]: 14: Hoare triple {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7806#true} is VALID [2022-04-27 13:27:14,206 INFO L290 TraceCheckUtils]: 15: Hoare triple {7806#true} ~cond := #in~cond; {7806#true} is VALID [2022-04-27 13:27:14,206 INFO L290 TraceCheckUtils]: 16: Hoare triple {7806#true} assume !(0 == ~cond); {7806#true} is VALID [2022-04-27 13:27:14,206 INFO L290 TraceCheckUtils]: 17: Hoare triple {7806#true} assume true; {7806#true} is VALID [2022-04-27 13:27:14,206 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7806#true} {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:14,206 INFO L272 TraceCheckUtils]: 19: Hoare triple {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7806#true} is VALID [2022-04-27 13:27:14,206 INFO L290 TraceCheckUtils]: 20: Hoare triple {7806#true} ~cond := #in~cond; {7806#true} is VALID [2022-04-27 13:27:14,207 INFO L290 TraceCheckUtils]: 21: Hoare triple {7806#true} assume !(0 == ~cond); {7806#true} is VALID [2022-04-27 13:27:14,207 INFO L290 TraceCheckUtils]: 22: Hoare triple {7806#true} assume true; {7806#true} is VALID [2022-04-27 13:27:14,207 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7806#true} {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:14,207 INFO L272 TraceCheckUtils]: 24: Hoare triple {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7806#true} is VALID [2022-04-27 13:27:14,207 INFO L290 TraceCheckUtils]: 25: Hoare triple {7806#true} ~cond := #in~cond; {7887#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:27:14,208 INFO L290 TraceCheckUtils]: 26: Hoare triple {7887#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7891#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:27:14,208 INFO L290 TraceCheckUtils]: 27: Hoare triple {7891#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7891#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:27:14,209 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7891#(not (= |__VERIFIER_assert_#in~cond| 0))} {7844#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {7898#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-27 13:27:14,210 INFO L290 TraceCheckUtils]: 29: Hoare triple {7898#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:14,211 INFO L290 TraceCheckUtils]: 30: Hoare triple {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:14,215 INFO L290 TraceCheckUtils]: 31: Hoare triple {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:14,215 INFO L272 TraceCheckUtils]: 32: Hoare triple {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7806#true} is VALID [2022-04-27 13:27:14,215 INFO L290 TraceCheckUtils]: 33: Hoare triple {7806#true} ~cond := #in~cond; {7806#true} is VALID [2022-04-27 13:27:14,215 INFO L290 TraceCheckUtils]: 34: Hoare triple {7806#true} assume !(0 == ~cond); {7806#true} is VALID [2022-04-27 13:27:14,215 INFO L290 TraceCheckUtils]: 35: Hoare triple {7806#true} assume true; {7806#true} is VALID [2022-04-27 13:27:14,215 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7806#true} {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #82#return; {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:14,216 INFO L272 TraceCheckUtils]: 37: Hoare triple {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7806#true} is VALID [2022-04-27 13:27:14,216 INFO L290 TraceCheckUtils]: 38: Hoare triple {7806#true} ~cond := #in~cond; {7806#true} is VALID [2022-04-27 13:27:14,216 INFO L290 TraceCheckUtils]: 39: Hoare triple {7806#true} assume !(0 == ~cond); {7806#true} is VALID [2022-04-27 13:27:14,216 INFO L290 TraceCheckUtils]: 40: Hoare triple {7806#true} assume true; {7806#true} is VALID [2022-04-27 13:27:14,223 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7806#true} {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #84#return; {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:14,223 INFO L272 TraceCheckUtils]: 42: Hoare triple {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 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)); {7806#true} is VALID [2022-04-27 13:27:14,224 INFO L290 TraceCheckUtils]: 43: Hoare triple {7806#true} ~cond := #in~cond; {7806#true} is VALID [2022-04-27 13:27:14,224 INFO L290 TraceCheckUtils]: 44: Hoare triple {7806#true} assume !(0 == ~cond); {7806#true} is VALID [2022-04-27 13:27:14,224 INFO L290 TraceCheckUtils]: 45: Hoare triple {7806#true} assume true; {7806#true} is VALID [2022-04-27 13:27:14,224 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7806#true} {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #86#return; {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:14,225 INFO L290 TraceCheckUtils]: 47: Hoare triple {7902#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {7957#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:14,225 INFO L290 TraceCheckUtils]: 48: Hoare triple {7957#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7957#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:14,226 INFO L290 TraceCheckUtils]: 49: Hoare triple {7957#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 5);havoc #t~post7; {7957#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:14,226 INFO L272 TraceCheckUtils]: 50: Hoare triple {7957#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 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)); {7806#true} is VALID [2022-04-27 13:27:14,226 INFO L290 TraceCheckUtils]: 51: Hoare triple {7806#true} ~cond := #in~cond; {7806#true} is VALID [2022-04-27 13:27:14,226 INFO L290 TraceCheckUtils]: 52: Hoare triple {7806#true} assume !(0 == ~cond); {7806#true} is VALID [2022-04-27 13:27:14,226 INFO L290 TraceCheckUtils]: 53: Hoare triple {7806#true} assume true; {7806#true} is VALID [2022-04-27 13:27:14,226 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7806#true} {7957#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #88#return; {7957#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:14,226 INFO L272 TraceCheckUtils]: 55: Hoare triple {7957#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 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)); {7806#true} is VALID [2022-04-27 13:27:14,226 INFO L290 TraceCheckUtils]: 56: Hoare triple {7806#true} ~cond := #in~cond; {7806#true} is VALID [2022-04-27 13:27:14,227 INFO L290 TraceCheckUtils]: 57: Hoare triple {7806#true} assume !(0 == ~cond); {7806#true} is VALID [2022-04-27 13:27:14,227 INFO L290 TraceCheckUtils]: 58: Hoare triple {7806#true} assume true; {7806#true} is VALID [2022-04-27 13:27:14,227 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7806#true} {7957#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #90#return; {7957#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:14,228 INFO L290 TraceCheckUtils]: 60: Hoare triple {7957#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 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); {7997#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:27:14,230 INFO L290 TraceCheckUtils]: 61: Hoare triple {7997#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8001#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:27:14,230 INFO L290 TraceCheckUtils]: 62: Hoare triple {8001#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8001#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:27:14,231 INFO L290 TraceCheckUtils]: 63: Hoare triple {8001#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} assume !!(#t~post7 < 5);havoc #t~post7; {8001#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:27:14,231 INFO L272 TraceCheckUtils]: 64: Hoare triple {8001#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7806#true} is VALID [2022-04-27 13:27:14,231 INFO L290 TraceCheckUtils]: 65: Hoare triple {7806#true} ~cond := #in~cond; {7806#true} is VALID [2022-04-27 13:27:14,231 INFO L290 TraceCheckUtils]: 66: Hoare triple {7806#true} assume !(0 == ~cond); {7806#true} is VALID [2022-04-27 13:27:14,231 INFO L290 TraceCheckUtils]: 67: Hoare triple {7806#true} assume true; {7806#true} is VALID [2022-04-27 13:27:14,232 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {7806#true} {8001#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} #88#return; {8001#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:27:14,232 INFO L272 TraceCheckUtils]: 69: Hoare triple {8001#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7806#true} is VALID [2022-04-27 13:27:14,232 INFO L290 TraceCheckUtils]: 70: Hoare triple {7806#true} ~cond := #in~cond; {7806#true} is VALID [2022-04-27 13:27:14,232 INFO L290 TraceCheckUtils]: 71: Hoare triple {7806#true} assume !(0 == ~cond); {7806#true} is VALID [2022-04-27 13:27:14,232 INFO L290 TraceCheckUtils]: 72: Hoare triple {7806#true} assume true; {7806#true} is VALID [2022-04-27 13:27:14,232 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {7806#true} {8001#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} #90#return; {8001#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:27:14,233 INFO L290 TraceCheckUtils]: 74: Hoare triple {8001#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} assume !(1 != ~p~0); {8041#(and (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 1))} is VALID [2022-04-27 13:27:14,233 INFO L272 TraceCheckUtils]: 75: Hoare triple {8041#(and (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {8045#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:27:14,234 INFO L290 TraceCheckUtils]: 76: Hoare triple {8045#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8049#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:27:14,234 INFO L290 TraceCheckUtils]: 77: Hoare triple {8049#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7807#false} is VALID [2022-04-27 13:27:14,234 INFO L290 TraceCheckUtils]: 78: Hoare triple {7807#false} assume !false; {7807#false} is VALID [2022-04-27 13:27:14,234 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 25 proven. 33 refuted. 0 times theorem prover too weak. 153 trivial. 0 not checked. [2022-04-27 13:27:14,235 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:28:41,085 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:28:41,085 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1045428772] [2022-04-27 13:28:41,085 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:28:41,085 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1257828617] [2022-04-27 13:28:41,085 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1257828617] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:28:41,085 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:28:41,085 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-27 13:28:41,085 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [116366909] [2022-04-27 13:28:41,086 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:28:41,086 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 79 [2022-04-27 13:28:41,086 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:28:41,086 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:28:41,142 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:41,143 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 13:28:41,143 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:28:41,143 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 13:28:41,143 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=266, Unknown=0, NotChecked=0, Total=342 [2022-04-27 13:28:41,143 INFO L87 Difference]: Start difference. First operand 193 states and 227 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:28:45,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:45,715 INFO L93 Difference]: Finished difference Result 264 states and 329 transitions. [2022-04-27 13:28:45,715 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-27 13:28:45,716 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 79 [2022-04-27 13:28:45,716 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:28:45,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:28:45,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 137 transitions. [2022-04-27 13:28:45,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:28:45,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 137 transitions. [2022-04-27 13:28:45,720 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 137 transitions. [2022-04-27 13:28:45,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:45,864 INFO L225 Difference]: With dead ends: 264 [2022-04-27 13:28:45,864 INFO L226 Difference]: Without dead ends: 225 [2022-04-27 13:28:45,865 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 110 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 87 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=126, Invalid=474, Unknown=0, NotChecked=0, Total=600 [2022-04-27 13:28:45,865 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 30 mSDsluCounter, 304 mSDsCounter, 0 mSdLazyCounter, 621 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 356 SdHoareTripleChecker+Invalid, 655 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 621 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:28:45,865 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [38 Valid, 356 Invalid, 655 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 621 Invalid, 0 Unknown, 0 Unchecked, 2.2s Time] [2022-04-27 13:28:45,865 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 225 states. [2022-04-27 13:28:45,953 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 225 to 209. [2022-04-27 13:28:45,953 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:28:45,954 INFO L82 GeneralOperation]: Start isEquivalent. First operand 225 states. Second operand has 209 states, 139 states have (on average 1.1798561151079137) internal successors, (164), 144 states have internal predecessors, (164), 44 states have call successors, (44), 27 states have call predecessors, (44), 25 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:28:45,954 INFO L74 IsIncluded]: Start isIncluded. First operand 225 states. Second operand has 209 states, 139 states have (on average 1.1798561151079137) internal successors, (164), 144 states have internal predecessors, (164), 44 states have call successors, (44), 27 states have call predecessors, (44), 25 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:28:45,954 INFO L87 Difference]: Start difference. First operand 225 states. Second operand has 209 states, 139 states have (on average 1.1798561151079137) internal successors, (164), 144 states have internal predecessors, (164), 44 states have call successors, (44), 27 states have call predecessors, (44), 25 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:28:45,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:45,959 INFO L93 Difference]: Finished difference Result 225 states and 273 transitions. [2022-04-27 13:28:45,959 INFO L276 IsEmpty]: Start isEmpty. Operand 225 states and 273 transitions. [2022-04-27 13:28:45,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:45,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:45,960 INFO L74 IsIncluded]: Start isIncluded. First operand has 209 states, 139 states have (on average 1.1798561151079137) internal successors, (164), 144 states have internal predecessors, (164), 44 states have call successors, (44), 27 states have call predecessors, (44), 25 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 225 states. [2022-04-27 13:28:45,960 INFO L87 Difference]: Start difference. First operand has 209 states, 139 states have (on average 1.1798561151079137) internal successors, (164), 144 states have internal predecessors, (164), 44 states have call successors, (44), 27 states have call predecessors, (44), 25 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 225 states. [2022-04-27 13:28:45,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:45,964 INFO L93 Difference]: Finished difference Result 225 states and 273 transitions. [2022-04-27 13:28:45,964 INFO L276 IsEmpty]: Start isEmpty. Operand 225 states and 273 transitions. [2022-04-27 13:28:45,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:45,964 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:45,964 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:28:45,964 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:28:45,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 209 states, 139 states have (on average 1.1798561151079137) internal successors, (164), 144 states have internal predecessors, (164), 44 states have call successors, (44), 27 states have call predecessors, (44), 25 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:28:45,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 209 states to 209 states and 249 transitions. [2022-04-27 13:28:45,968 INFO L78 Accepts]: Start accepts. Automaton has 209 states and 249 transitions. Word has length 79 [2022-04-27 13:28:45,969 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:28:45,969 INFO L495 AbstractCegarLoop]: Abstraction has 209 states and 249 transitions. [2022-04-27 13:28:45,969 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:28:45,969 INFO L276 IsEmpty]: Start isEmpty. Operand 209 states and 249 transitions. [2022-04-27 13:28:45,969 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-27 13:28:45,969 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:28:45,969 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:28:45,985 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 13:28:46,185 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-27 13:28:46,185 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:28:46,185 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:28:46,185 INFO L85 PathProgramCache]: Analyzing trace with hash 437079945, now seen corresponding path program 2 times [2022-04-27 13:28:46,186 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:28:46,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1625161763] [2022-04-27 13:28:46,186 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:46,186 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:28:46,196 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:28:46,196 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [348571924] [2022-04-27 13:28:46,196 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:28:46,196 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:28:46,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:28:46,201 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-27 13:28:46,202 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-27 13:28:46,248 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:28:46,248 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:28:46,249 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:28:46,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:46,261 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:28:46,405 INFO L272 TraceCheckUtils]: 0: Hoare triple {9329#true} call ULTIMATE.init(); {9329#true} is VALID [2022-04-27 13:28:46,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {9329#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9329#true} is VALID [2022-04-27 13:28:46,405 INFO L290 TraceCheckUtils]: 2: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,405 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9329#true} {9329#true} #96#return; {9329#true} is VALID [2022-04-27 13:28:46,405 INFO L272 TraceCheckUtils]: 4: Hoare triple {9329#true} call #t~ret8 := main(); {9329#true} is VALID [2022-04-27 13:28:46,405 INFO L290 TraceCheckUtils]: 5: Hoare triple {9329#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {9329#true} is VALID [2022-04-27 13:28:46,405 INFO L272 TraceCheckUtils]: 6: Hoare triple {9329#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,405 INFO L290 TraceCheckUtils]: 7: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,405 INFO L290 TraceCheckUtils]: 8: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,405 INFO L290 TraceCheckUtils]: 9: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,405 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9329#true} {9329#true} #80#return; {9329#true} is VALID [2022-04-27 13:28:46,406 INFO L290 TraceCheckUtils]: 11: Hoare triple {9329#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,406 INFO L290 TraceCheckUtils]: 12: Hoare triple {9367#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,406 INFO L290 TraceCheckUtils]: 13: Hoare triple {9367#(= main_~p~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,406 INFO L272 TraceCheckUtils]: 14: Hoare triple {9367#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,406 INFO L290 TraceCheckUtils]: 15: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,406 INFO L290 TraceCheckUtils]: 16: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,406 INFO L290 TraceCheckUtils]: 17: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,407 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9329#true} {9367#(= main_~p~0 1)} #82#return; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,407 INFO L272 TraceCheckUtils]: 19: Hoare triple {9367#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,407 INFO L290 TraceCheckUtils]: 20: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,407 INFO L290 TraceCheckUtils]: 21: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,407 INFO L290 TraceCheckUtils]: 22: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,407 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9329#true} {9367#(= main_~p~0 1)} #84#return; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,408 INFO L272 TraceCheckUtils]: 24: Hoare triple {9367#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,408 INFO L290 TraceCheckUtils]: 25: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,408 INFO L290 TraceCheckUtils]: 26: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,408 INFO L290 TraceCheckUtils]: 27: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,408 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9329#true} {9367#(= main_~p~0 1)} #86#return; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,409 INFO L290 TraceCheckUtils]: 29: Hoare triple {9367#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9422#(= main_~p~0 2)} is VALID [2022-04-27 13:28:46,409 INFO L290 TraceCheckUtils]: 30: Hoare triple {9422#(= main_~p~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9422#(= main_~p~0 2)} is VALID [2022-04-27 13:28:46,409 INFO L290 TraceCheckUtils]: 31: Hoare triple {9422#(= main_~p~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {9422#(= main_~p~0 2)} is VALID [2022-04-27 13:28:46,409 INFO L272 TraceCheckUtils]: 32: Hoare triple {9422#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,409 INFO L290 TraceCheckUtils]: 33: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,409 INFO L290 TraceCheckUtils]: 34: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,409 INFO L290 TraceCheckUtils]: 35: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,410 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9329#true} {9422#(= main_~p~0 2)} #82#return; {9422#(= main_~p~0 2)} is VALID [2022-04-27 13:28:46,410 INFO L272 TraceCheckUtils]: 37: Hoare triple {9422#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,410 INFO L290 TraceCheckUtils]: 38: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,410 INFO L290 TraceCheckUtils]: 39: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,410 INFO L290 TraceCheckUtils]: 40: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,410 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9329#true} {9422#(= main_~p~0 2)} #84#return; {9422#(= main_~p~0 2)} is VALID [2022-04-27 13:28:46,410 INFO L272 TraceCheckUtils]: 42: Hoare triple {9422#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,410 INFO L290 TraceCheckUtils]: 43: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,411 INFO L290 TraceCheckUtils]: 44: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,411 INFO L290 TraceCheckUtils]: 45: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,411 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {9329#true} {9422#(= main_~p~0 2)} #86#return; {9422#(= main_~p~0 2)} is VALID [2022-04-27 13:28:46,411 INFO L290 TraceCheckUtils]: 47: Hoare triple {9422#(= main_~p~0 2)} assume !(~r~0 >= ~d~0); {9422#(= main_~p~0 2)} is VALID [2022-04-27 13:28:46,412 INFO L290 TraceCheckUtils]: 48: Hoare triple {9422#(= main_~p~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9422#(= main_~p~0 2)} is VALID [2022-04-27 13:28:46,412 INFO L290 TraceCheckUtils]: 49: Hoare triple {9422#(= main_~p~0 2)} assume !!(#t~post7 < 5);havoc #t~post7; {9422#(= main_~p~0 2)} is VALID [2022-04-27 13:28:46,412 INFO L272 TraceCheckUtils]: 50: Hoare triple {9422#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,412 INFO L290 TraceCheckUtils]: 51: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,412 INFO L290 TraceCheckUtils]: 52: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,413 INFO L290 TraceCheckUtils]: 53: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,413 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9329#true} {9422#(= main_~p~0 2)} #88#return; {9422#(= main_~p~0 2)} is VALID [2022-04-27 13:28:46,413 INFO L272 TraceCheckUtils]: 55: Hoare triple {9422#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,413 INFO L290 TraceCheckUtils]: 56: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,413 INFO L290 TraceCheckUtils]: 57: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,413 INFO L290 TraceCheckUtils]: 58: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,414 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {9329#true} {9422#(= main_~p~0 2)} #90#return; {9422#(= main_~p~0 2)} is VALID [2022-04-27 13:28:46,414 INFO L290 TraceCheckUtils]: 60: Hoare triple {9422#(= main_~p~0 2)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,414 INFO L290 TraceCheckUtils]: 61: Hoare triple {9367#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,414 INFO L290 TraceCheckUtils]: 62: Hoare triple {9367#(= main_~p~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,415 INFO L290 TraceCheckUtils]: 63: Hoare triple {9367#(= main_~p~0 1)} assume !!(#t~post7 < 5);havoc #t~post7; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,415 INFO L272 TraceCheckUtils]: 64: Hoare triple {9367#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,415 INFO L290 TraceCheckUtils]: 65: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,415 INFO L290 TraceCheckUtils]: 66: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,415 INFO L290 TraceCheckUtils]: 67: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,415 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9329#true} {9367#(= main_~p~0 1)} #88#return; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,415 INFO L272 TraceCheckUtils]: 69: Hoare triple {9367#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,415 INFO L290 TraceCheckUtils]: 70: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,415 INFO L290 TraceCheckUtils]: 71: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,416 INFO L290 TraceCheckUtils]: 72: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,416 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {9329#true} {9367#(= main_~p~0 1)} #90#return; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,416 INFO L290 TraceCheckUtils]: 74: Hoare triple {9367#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9330#false} is VALID [2022-04-27 13:28:46,416 INFO L290 TraceCheckUtils]: 75: Hoare triple {9330#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9330#false} is VALID [2022-04-27 13:28:46,416 INFO L290 TraceCheckUtils]: 76: Hoare triple {9330#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9330#false} is VALID [2022-04-27 13:28:46,416 INFO L290 TraceCheckUtils]: 77: Hoare triple {9330#false} assume !!(#t~post7 < 5);havoc #t~post7; {9330#false} is VALID [2022-04-27 13:28:46,416 INFO L272 TraceCheckUtils]: 78: Hoare triple {9330#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9330#false} is VALID [2022-04-27 13:28:46,416 INFO L290 TraceCheckUtils]: 79: Hoare triple {9330#false} ~cond := #in~cond; {9330#false} is VALID [2022-04-27 13:28:46,416 INFO L290 TraceCheckUtils]: 80: Hoare triple {9330#false} assume 0 == ~cond; {9330#false} is VALID [2022-04-27 13:28:46,417 INFO L290 TraceCheckUtils]: 81: Hoare triple {9330#false} assume !false; {9330#false} is VALID [2022-04-27 13:28:46,417 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 27 proven. 11 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-27 13:28:46,417 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:28:46,619 INFO L290 TraceCheckUtils]: 81: Hoare triple {9330#false} assume !false; {9330#false} is VALID [2022-04-27 13:28:46,619 INFO L290 TraceCheckUtils]: 80: Hoare triple {9330#false} assume 0 == ~cond; {9330#false} is VALID [2022-04-27 13:28:46,619 INFO L290 TraceCheckUtils]: 79: Hoare triple {9330#false} ~cond := #in~cond; {9330#false} is VALID [2022-04-27 13:28:46,619 INFO L272 TraceCheckUtils]: 78: Hoare triple {9330#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9330#false} is VALID [2022-04-27 13:28:46,619 INFO L290 TraceCheckUtils]: 77: Hoare triple {9330#false} assume !!(#t~post7 < 5);havoc #t~post7; {9330#false} is VALID [2022-04-27 13:28:46,619 INFO L290 TraceCheckUtils]: 76: Hoare triple {9330#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9330#false} is VALID [2022-04-27 13:28:46,619 INFO L290 TraceCheckUtils]: 75: Hoare triple {9330#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9330#false} is VALID [2022-04-27 13:28:46,619 INFO L290 TraceCheckUtils]: 74: Hoare triple {9367#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9330#false} is VALID [2022-04-27 13:28:46,620 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {9329#true} {9367#(= main_~p~0 1)} #90#return; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,620 INFO L290 TraceCheckUtils]: 72: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,620 INFO L290 TraceCheckUtils]: 71: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,620 INFO L290 TraceCheckUtils]: 70: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,620 INFO L272 TraceCheckUtils]: 69: Hoare triple {9367#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,621 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9329#true} {9367#(= main_~p~0 1)} #88#return; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,621 INFO L290 TraceCheckUtils]: 67: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,621 INFO L290 TraceCheckUtils]: 66: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,621 INFO L290 TraceCheckUtils]: 65: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,621 INFO L272 TraceCheckUtils]: 64: Hoare triple {9367#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,621 INFO L290 TraceCheckUtils]: 63: Hoare triple {9367#(= main_~p~0 1)} assume !!(#t~post7 < 5);havoc #t~post7; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,621 INFO L290 TraceCheckUtils]: 62: Hoare triple {9367#(= main_~p~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,622 INFO L290 TraceCheckUtils]: 61: Hoare triple {9367#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,622 INFO L290 TraceCheckUtils]: 60: Hoare triple {9642#(= (div main_~p~0 2) 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,623 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {9329#true} {9642#(= (div main_~p~0 2) 1)} #90#return; {9642#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:46,623 INFO L290 TraceCheckUtils]: 58: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,623 INFO L290 TraceCheckUtils]: 57: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,623 INFO L290 TraceCheckUtils]: 56: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,623 INFO L272 TraceCheckUtils]: 55: Hoare triple {9642#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,624 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9329#true} {9642#(= (div main_~p~0 2) 1)} #88#return; {9642#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:46,624 INFO L290 TraceCheckUtils]: 53: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,624 INFO L290 TraceCheckUtils]: 52: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,624 INFO L290 TraceCheckUtils]: 51: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,624 INFO L272 TraceCheckUtils]: 50: Hoare triple {9642#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,624 INFO L290 TraceCheckUtils]: 49: Hoare triple {9642#(= (div main_~p~0 2) 1)} assume !!(#t~post7 < 5);havoc #t~post7; {9642#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:46,624 INFO L290 TraceCheckUtils]: 48: Hoare triple {9642#(= (div main_~p~0 2) 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9642#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:46,625 INFO L290 TraceCheckUtils]: 47: Hoare triple {9642#(= (div main_~p~0 2) 1)} assume !(~r~0 >= ~d~0); {9642#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:46,632 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {9329#true} {9642#(= (div main_~p~0 2) 1)} #86#return; {9642#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:46,632 INFO L290 TraceCheckUtils]: 45: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,632 INFO L290 TraceCheckUtils]: 44: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,632 INFO L290 TraceCheckUtils]: 43: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,632 INFO L272 TraceCheckUtils]: 42: Hoare triple {9642#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,633 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9329#true} {9642#(= (div main_~p~0 2) 1)} #84#return; {9642#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:46,633 INFO L290 TraceCheckUtils]: 40: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,633 INFO L290 TraceCheckUtils]: 39: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,633 INFO L290 TraceCheckUtils]: 38: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,633 INFO L272 TraceCheckUtils]: 37: Hoare triple {9642#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,634 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9329#true} {9642#(= (div main_~p~0 2) 1)} #82#return; {9642#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:46,634 INFO L290 TraceCheckUtils]: 35: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,634 INFO L290 TraceCheckUtils]: 34: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,634 INFO L290 TraceCheckUtils]: 33: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,634 INFO L272 TraceCheckUtils]: 32: Hoare triple {9642#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,634 INFO L290 TraceCheckUtils]: 31: Hoare triple {9642#(= (div main_~p~0 2) 1)} assume !!(#t~post6 < 5);havoc #t~post6; {9642#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:46,634 INFO L290 TraceCheckUtils]: 30: Hoare triple {9642#(= (div main_~p~0 2) 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9642#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:46,635 INFO L290 TraceCheckUtils]: 29: Hoare triple {9367#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9642#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:46,635 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9329#true} {9367#(= main_~p~0 1)} #86#return; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,635 INFO L290 TraceCheckUtils]: 27: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,636 INFO L290 TraceCheckUtils]: 26: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,636 INFO L290 TraceCheckUtils]: 25: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,636 INFO L272 TraceCheckUtils]: 24: Hoare triple {9367#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,636 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9329#true} {9367#(= main_~p~0 1)} #84#return; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,636 INFO L290 TraceCheckUtils]: 22: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,636 INFO L290 TraceCheckUtils]: 21: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,636 INFO L290 TraceCheckUtils]: 20: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,636 INFO L272 TraceCheckUtils]: 19: Hoare triple {9367#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,637 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9329#true} {9367#(= main_~p~0 1)} #82#return; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,637 INFO L290 TraceCheckUtils]: 17: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,637 INFO L290 TraceCheckUtils]: 16: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,637 INFO L290 TraceCheckUtils]: 15: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,637 INFO L272 TraceCheckUtils]: 14: Hoare triple {9367#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,637 INFO L290 TraceCheckUtils]: 13: Hoare triple {9367#(= main_~p~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,638 INFO L290 TraceCheckUtils]: 12: Hoare triple {9367#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,638 INFO L290 TraceCheckUtils]: 11: Hoare triple {9329#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9367#(= main_~p~0 1)} is VALID [2022-04-27 13:28:46,638 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9329#true} {9329#true} #80#return; {9329#true} is VALID [2022-04-27 13:28:46,638 INFO L290 TraceCheckUtils]: 9: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,638 INFO L290 TraceCheckUtils]: 8: Hoare triple {9329#true} assume !(0 == ~cond); {9329#true} is VALID [2022-04-27 13:28:46,638 INFO L290 TraceCheckUtils]: 7: Hoare triple {9329#true} ~cond := #in~cond; {9329#true} is VALID [2022-04-27 13:28:46,638 INFO L272 TraceCheckUtils]: 6: Hoare triple {9329#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9329#true} is VALID [2022-04-27 13:28:46,638 INFO L290 TraceCheckUtils]: 5: Hoare triple {9329#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {9329#true} is VALID [2022-04-27 13:28:46,638 INFO L272 TraceCheckUtils]: 4: Hoare triple {9329#true} call #t~ret8 := main(); {9329#true} is VALID [2022-04-27 13:28:46,638 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9329#true} {9329#true} #96#return; {9329#true} is VALID [2022-04-27 13:28:46,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {9329#true} assume true; {9329#true} is VALID [2022-04-27 13:28:46,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {9329#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9329#true} is VALID [2022-04-27 13:28:46,639 INFO L272 TraceCheckUtils]: 0: Hoare triple {9329#true} call ULTIMATE.init(); {9329#true} is VALID [2022-04-27 13:28:46,639 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 27 proven. 11 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-27 13:28:46,639 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:28:46,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1625161763] [2022-04-27 13:28:46,639 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:28:46,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [348571924] [2022-04-27 13:28:46,639 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [348571924] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:28:46,639 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:28:46,639 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-04-27 13:28:46,639 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1008200195] [2022-04-27 13:28:46,640 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:28:46,640 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) Word has length 82 [2022-04-27 13:28:46,640 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:28:46,640 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:28:46,697 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:46,697 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:28:46,697 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:28:46,697 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:28:46,697 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:28:46,697 INFO L87 Difference]: Start difference. First operand 209 states and 249 transitions. Second operand has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:28:47,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:47,008 INFO L93 Difference]: Finished difference Result 233 states and 281 transitions. [2022-04-27 13:28:47,008 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 13:28:47,008 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) Word has length 82 [2022-04-27 13:28:47,008 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:28:47,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:28:47,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-04-27 13:28:47,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:28:47,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-04-27 13:28:47,010 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-04-27 13:28:47,099 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:47,102 INFO L225 Difference]: With dead ends: 233 [2022-04-27 13:28:47,102 INFO L226 Difference]: Without dead ends: 207 [2022-04-27 13:28:47,102 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 159 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:28:47,103 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 0 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:28:47,103 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1 Valid, 170 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 53 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:28:47,103 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 207 states. [2022-04-27 13:28:47,198 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 207 to 204. [2022-04-27 13:28:47,198 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:28:47,198 INFO L82 GeneralOperation]: Start isEquivalent. First operand 207 states. Second operand has 204 states, 134 states have (on average 1.171641791044776) internal successors, (157), 139 states have internal predecessors, (157), 44 states have call successors, (44), 27 states have call predecessors, (44), 25 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:28:47,199 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand has 204 states, 134 states have (on average 1.171641791044776) internal successors, (157), 139 states have internal predecessors, (157), 44 states have call successors, (44), 27 states have call predecessors, (44), 25 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:28:47,199 INFO L87 Difference]: Start difference. First operand 207 states. Second operand has 204 states, 134 states have (on average 1.171641791044776) internal successors, (157), 139 states have internal predecessors, (157), 44 states have call successors, (44), 27 states have call predecessors, (44), 25 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:28:47,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:47,203 INFO L93 Difference]: Finished difference Result 207 states and 247 transitions. [2022-04-27 13:28:47,203 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 247 transitions. [2022-04-27 13:28:47,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:47,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:47,203 INFO L74 IsIncluded]: Start isIncluded. First operand has 204 states, 134 states have (on average 1.171641791044776) internal successors, (157), 139 states have internal predecessors, (157), 44 states have call successors, (44), 27 states have call predecessors, (44), 25 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 207 states. [2022-04-27 13:28:47,204 INFO L87 Difference]: Start difference. First operand has 204 states, 134 states have (on average 1.171641791044776) internal successors, (157), 139 states have internal predecessors, (157), 44 states have call successors, (44), 27 states have call predecessors, (44), 25 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 207 states. [2022-04-27 13:28:47,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:47,207 INFO L93 Difference]: Finished difference Result 207 states and 247 transitions. [2022-04-27 13:28:47,207 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 247 transitions. [2022-04-27 13:28:47,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:47,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:47,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:28:47,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:28:47,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 204 states, 134 states have (on average 1.171641791044776) internal successors, (157), 139 states have internal predecessors, (157), 44 states have call successors, (44), 27 states have call predecessors, (44), 25 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:28:47,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 204 states to 204 states and 242 transitions. [2022-04-27 13:28:47,212 INFO L78 Accepts]: Start accepts. Automaton has 204 states and 242 transitions. Word has length 82 [2022-04-27 13:28:47,212 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:28:47,212 INFO L495 AbstractCegarLoop]: Abstraction has 204 states and 242 transitions. [2022-04-27 13:28:47,212 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:28:47,212 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 242 transitions. [2022-04-27 13:28:47,213 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-27 13:28:47,213 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:28:47,213 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:28:47,233 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-27 13:28:47,424 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-27 13:28:47,424 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:28:47,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:28:47,424 INFO L85 PathProgramCache]: Analyzing trace with hash 111833757, now seen corresponding path program 1 times [2022-04-27 13:28:47,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:28:47,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1107353434] [2022-04-27 13:28:47,424 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:47,425 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:28:47,433 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:28:47,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1396669131] [2022-04-27 13:28:47,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:47,433 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:28:47,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:28:47,442 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-27 13:28:47,443 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-27 13:28:47,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:47,485 INFO L263 TraceCheckSpWp]: Trace formula consists of 214 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 13:28:47,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:47,497 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:28:48,314 INFO L272 TraceCheckUtils]: 0: Hoare triple {10838#true} call ULTIMATE.init(); {10838#true} is VALID [2022-04-27 13:28:48,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {10838#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10838#true} is VALID [2022-04-27 13:28:48,314 INFO L290 TraceCheckUtils]: 2: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10838#true} {10838#true} #96#return; {10838#true} is VALID [2022-04-27 13:28:48,315 INFO L272 TraceCheckUtils]: 4: Hoare triple {10838#true} call #t~ret8 := main(); {10838#true} is VALID [2022-04-27 13:28:48,315 INFO L290 TraceCheckUtils]: 5: Hoare triple {10838#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {10838#true} is VALID [2022-04-27 13:28:48,315 INFO L272 TraceCheckUtils]: 6: Hoare triple {10838#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,315 INFO L290 TraceCheckUtils]: 7: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,315 INFO L290 TraceCheckUtils]: 8: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,315 INFO L290 TraceCheckUtils]: 9: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,315 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10838#true} {10838#true} #80#return; {10838#true} is VALID [2022-04-27 13:28:48,315 INFO L290 TraceCheckUtils]: 11: Hoare triple {10838#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,316 INFO L290 TraceCheckUtils]: 12: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(#t~post6 < 5);havoc #t~post6; {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,316 INFO L272 TraceCheckUtils]: 14: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,316 INFO L290 TraceCheckUtils]: 15: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,316 INFO L290 TraceCheckUtils]: 16: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,316 INFO L290 TraceCheckUtils]: 17: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,316 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10838#true} {10876#(= main_~d~0 (mod main_~B~0 4294967296))} #82#return; {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,316 INFO L272 TraceCheckUtils]: 19: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,317 INFO L290 TraceCheckUtils]: 20: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,317 INFO L290 TraceCheckUtils]: 21: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,317 INFO L290 TraceCheckUtils]: 22: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,317 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10838#true} {10876#(= main_~d~0 (mod main_~B~0 4294967296))} #84#return; {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,317 INFO L272 TraceCheckUtils]: 24: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,317 INFO L290 TraceCheckUtils]: 25: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,317 INFO L290 TraceCheckUtils]: 26: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,317 INFO L290 TraceCheckUtils]: 27: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,318 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10838#true} {10876#(= main_~d~0 (mod main_~B~0 4294967296))} #86#return; {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,318 INFO L290 TraceCheckUtils]: 29: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:28:48,319 INFO L290 TraceCheckUtils]: 30: Hoare triple {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:28:48,319 INFO L290 TraceCheckUtils]: 31: Hoare triple {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:28:48,319 INFO L272 TraceCheckUtils]: 32: Hoare triple {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,319 INFO L290 TraceCheckUtils]: 33: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,319 INFO L290 TraceCheckUtils]: 34: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,319 INFO L290 TraceCheckUtils]: 35: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,320 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10838#true} {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:28:48,320 INFO L272 TraceCheckUtils]: 37: Hoare triple {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,320 INFO L290 TraceCheckUtils]: 38: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,320 INFO L290 TraceCheckUtils]: 39: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,320 INFO L290 TraceCheckUtils]: 40: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,320 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10838#true} {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:28:48,321 INFO L272 TraceCheckUtils]: 42: Hoare triple {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,321 INFO L290 TraceCheckUtils]: 43: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,321 INFO L290 TraceCheckUtils]: 44: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,321 INFO L290 TraceCheckUtils]: 45: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,322 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10838#true} {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:28:48,324 INFO L290 TraceCheckUtils]: 47: Hoare triple {10931#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {10986#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:28:48,324 INFO L290 TraceCheckUtils]: 48: Hoare triple {10986#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10986#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:28:48,325 INFO L290 TraceCheckUtils]: 49: Hoare triple {10986#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(#t~post7 < 5);havoc #t~post7; {10986#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:28:48,325 INFO L272 TraceCheckUtils]: 50: Hoare triple {10986#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,325 INFO L290 TraceCheckUtils]: 51: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,325 INFO L290 TraceCheckUtils]: 52: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,325 INFO L290 TraceCheckUtils]: 53: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,325 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10838#true} {10986#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #88#return; {10986#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:28:48,325 INFO L272 TraceCheckUtils]: 55: Hoare triple {10986#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,325 INFO L290 TraceCheckUtils]: 56: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,326 INFO L290 TraceCheckUtils]: 57: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,326 INFO L290 TraceCheckUtils]: 58: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,326 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10838#true} {10986#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #90#return; {10986#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:28:48,327 INFO L290 TraceCheckUtils]: 60: Hoare triple {10986#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:48,327 INFO L290 TraceCheckUtils]: 61: Hoare triple {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:48,328 INFO L290 TraceCheckUtils]: 62: Hoare triple {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:48,328 INFO L290 TraceCheckUtils]: 63: Hoare triple {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 5);havoc #t~post7; {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:48,328 INFO L272 TraceCheckUtils]: 64: Hoare triple {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,328 INFO L290 TraceCheckUtils]: 65: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,328 INFO L290 TraceCheckUtils]: 66: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,328 INFO L290 TraceCheckUtils]: 67: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,329 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10838#true} {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #88#return; {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:48,329 INFO L272 TraceCheckUtils]: 69: Hoare triple {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,329 INFO L290 TraceCheckUtils]: 70: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,329 INFO L290 TraceCheckUtils]: 71: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,329 INFO L290 TraceCheckUtils]: 72: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,329 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10838#true} {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #90#return; {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:48,330 INFO L290 TraceCheckUtils]: 74: Hoare triple {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:48,330 INFO L272 TraceCheckUtils]: 75: Hoare triple {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,330 INFO L290 TraceCheckUtils]: 76: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,330 INFO L290 TraceCheckUtils]: 77: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,330 INFO L290 TraceCheckUtils]: 78: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,331 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {10838#true} {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #92#return; {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:48,331 INFO L272 TraceCheckUtils]: 80: Hoare triple {11026#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11087#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:28:48,331 INFO L290 TraceCheckUtils]: 81: Hoare triple {11087#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11091#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:28:48,332 INFO L290 TraceCheckUtils]: 82: Hoare triple {11091#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10839#false} is VALID [2022-04-27 13:28:48,332 INFO L290 TraceCheckUtils]: 83: Hoare triple {10839#false} assume !false; {10839#false} is VALID [2022-04-27 13:28:48,332 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-27 13:28:48,332 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:28:48,887 INFO L290 TraceCheckUtils]: 83: Hoare triple {10839#false} assume !false; {10839#false} is VALID [2022-04-27 13:28:48,887 INFO L290 TraceCheckUtils]: 82: Hoare triple {11091#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10839#false} is VALID [2022-04-27 13:28:48,887 INFO L290 TraceCheckUtils]: 81: Hoare triple {11087#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11091#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:28:48,888 INFO L272 TraceCheckUtils]: 80: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11087#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:28:48,888 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {10838#true} {10876#(= main_~d~0 (mod main_~B~0 4294967296))} #92#return; {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,889 INFO L290 TraceCheckUtils]: 78: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,889 INFO L290 TraceCheckUtils]: 77: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,889 INFO L290 TraceCheckUtils]: 76: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,889 INFO L272 TraceCheckUtils]: 75: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,889 INFO L290 TraceCheckUtils]: 74: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,889 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10838#true} {10876#(= main_~d~0 (mod main_~B~0 4294967296))} #90#return; {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,889 INFO L290 TraceCheckUtils]: 72: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,889 INFO L290 TraceCheckUtils]: 71: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,890 INFO L290 TraceCheckUtils]: 70: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,890 INFO L272 TraceCheckUtils]: 69: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,890 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10838#true} {10876#(= main_~d~0 (mod main_~B~0 4294967296))} #88#return; {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,890 INFO L290 TraceCheckUtils]: 67: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,890 INFO L290 TraceCheckUtils]: 66: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,890 INFO L290 TraceCheckUtils]: 65: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,890 INFO L272 TraceCheckUtils]: 64: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,891 INFO L290 TraceCheckUtils]: 63: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(#t~post7 < 5);havoc #t~post7; {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,891 INFO L290 TraceCheckUtils]: 62: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,891 INFO L290 TraceCheckUtils]: 61: Hoare triple {10876#(= main_~d~0 (mod main_~B~0 4294967296))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,892 INFO L290 TraceCheckUtils]: 60: Hoare triple {11167#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10876#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:48,893 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10838#true} {11167#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #90#return; {11167#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:28:48,893 INFO L290 TraceCheckUtils]: 58: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,893 INFO L290 TraceCheckUtils]: 57: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,893 INFO L290 TraceCheckUtils]: 56: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,893 INFO L272 TraceCheckUtils]: 55: Hoare triple {11167#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,894 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10838#true} {11167#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #88#return; {11167#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:28:48,894 INFO L290 TraceCheckUtils]: 53: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,894 INFO L290 TraceCheckUtils]: 52: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,894 INFO L290 TraceCheckUtils]: 51: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,894 INFO L272 TraceCheckUtils]: 50: Hoare triple {11167#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,895 INFO L290 TraceCheckUtils]: 49: Hoare triple {11167#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(#t~post7 < 5);havoc #t~post7; {11167#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:28:48,895 INFO L290 TraceCheckUtils]: 48: Hoare triple {11167#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11167#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:28:48,896 INFO L290 TraceCheckUtils]: 47: Hoare triple {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !(~r~0 >= ~d~0); {11167#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:28:48,896 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10838#true} {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #86#return; {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:28:48,896 INFO L290 TraceCheckUtils]: 45: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,897 INFO L290 TraceCheckUtils]: 44: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,897 INFO L290 TraceCheckUtils]: 43: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,897 INFO L272 TraceCheckUtils]: 42: Hoare triple {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,897 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10838#true} {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #84#return; {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:28:48,897 INFO L290 TraceCheckUtils]: 40: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,897 INFO L290 TraceCheckUtils]: 39: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,897 INFO L290 TraceCheckUtils]: 38: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,897 INFO L272 TraceCheckUtils]: 37: Hoare triple {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,898 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10838#true} {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #82#return; {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:28:48,898 INFO L290 TraceCheckUtils]: 35: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,898 INFO L290 TraceCheckUtils]: 34: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,898 INFO L290 TraceCheckUtils]: 33: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,898 INFO L272 TraceCheckUtils]: 32: Hoare triple {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,899 INFO L290 TraceCheckUtils]: 31: Hoare triple {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !!(#t~post6 < 5);havoc #t~post6; {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:28:48,899 INFO L290 TraceCheckUtils]: 30: Hoare triple {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:28:48,900 INFO L290 TraceCheckUtils]: 29: Hoare triple {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11207#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:28:48,901 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10838#true} {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #86#return; {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:28:48,901 INFO L290 TraceCheckUtils]: 27: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,901 INFO L290 TraceCheckUtils]: 26: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,901 INFO L290 TraceCheckUtils]: 25: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,901 INFO L272 TraceCheckUtils]: 24: Hoare triple {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,901 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10838#true} {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #84#return; {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:28:48,902 INFO L290 TraceCheckUtils]: 22: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,902 INFO L290 TraceCheckUtils]: 21: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,902 INFO L290 TraceCheckUtils]: 20: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,902 INFO L272 TraceCheckUtils]: 19: Hoare triple {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,902 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10838#true} {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #82#return; {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:28:48,902 INFO L290 TraceCheckUtils]: 17: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,902 INFO L290 TraceCheckUtils]: 16: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,902 INFO L290 TraceCheckUtils]: 15: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,902 INFO L272 TraceCheckUtils]: 14: Hoare triple {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:28:48,903 INFO L290 TraceCheckUtils]: 12: Hoare triple {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:28:48,903 INFO L290 TraceCheckUtils]: 11: Hoare triple {10838#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11262#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:28:48,903 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10838#true} {10838#true} #80#return; {10838#true} is VALID [2022-04-27 13:28:48,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {10838#true} assume !(0 == ~cond); {10838#true} is VALID [2022-04-27 13:28:48,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {10838#true} ~cond := #in~cond; {10838#true} is VALID [2022-04-27 13:28:48,904 INFO L272 TraceCheckUtils]: 6: Hoare triple {10838#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10838#true} is VALID [2022-04-27 13:28:48,904 INFO L290 TraceCheckUtils]: 5: Hoare triple {10838#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {10838#true} is VALID [2022-04-27 13:28:48,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {10838#true} call #t~ret8 := main(); {10838#true} is VALID [2022-04-27 13:28:48,904 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10838#true} {10838#true} #96#return; {10838#true} is VALID [2022-04-27 13:28:48,904 INFO L290 TraceCheckUtils]: 2: Hoare triple {10838#true} assume true; {10838#true} is VALID [2022-04-27 13:28:48,904 INFO L290 TraceCheckUtils]: 1: Hoare triple {10838#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10838#true} is VALID [2022-04-27 13:28:48,904 INFO L272 TraceCheckUtils]: 0: Hoare triple {10838#true} call ULTIMATE.init(); {10838#true} is VALID [2022-04-27 13:28:48,904 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-27 13:28:48,905 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:28:48,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1107353434] [2022-04-27 13:28:48,905 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:28:48,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1396669131] [2022-04-27 13:28:48,905 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1396669131] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:28:48,905 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:28:48,905 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-27 13:28:48,905 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2114363438] [2022-04-27 13:28:48,905 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:28:48,905 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) Word has length 84 [2022-04-27 13:28:48,906 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:28:48,906 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:28:49,008 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:49,008 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 13:28:49,008 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:28:49,008 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 13:28:49,008 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:28:49,009 INFO L87 Difference]: Start difference. First operand 204 states and 242 transitions. Second operand has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:28:50,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:50,682 INFO L93 Difference]: Finished difference Result 210 states and 248 transitions. [2022-04-27 13:28:50,682 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:28:50,683 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) Word has length 84 [2022-04-27 13:28:50,683 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:28:50,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:28:50,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 82 transitions. [2022-04-27 13:28:50,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:28:50,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 82 transitions. [2022-04-27 13:28:50,685 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 82 transitions. [2022-04-27 13:28:50,764 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:50,767 INFO L225 Difference]: With dead ends: 210 [2022-04-27 13:28:50,767 INFO L226 Difference]: Without dead ends: 185 [2022-04-27 13:28:50,767 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 157 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:28:50,767 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 12 mSDsluCounter, 251 mSDsCounter, 0 mSdLazyCounter, 179 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 312 SdHoareTripleChecker+Invalid, 193 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 179 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 13:28:50,768 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 312 Invalid, 193 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 179 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 13:28:50,768 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-27 13:28:50,847 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 185. [2022-04-27 13:28:50,847 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:28:50,847 INFO L82 GeneralOperation]: Start isEquivalent. First operand 185 states. Second operand has 185 states, 121 states have (on average 1.1818181818181819) internal successors, (143), 126 states have internal predecessors, (143), 40 states have call successors, (40), 25 states have call predecessors, (40), 23 states have return successors, (37), 33 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-27 13:28:50,848 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand has 185 states, 121 states have (on average 1.1818181818181819) internal successors, (143), 126 states have internal predecessors, (143), 40 states have call successors, (40), 25 states have call predecessors, (40), 23 states have return successors, (37), 33 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-27 13:28:50,853 INFO L87 Difference]: Start difference. First operand 185 states. Second operand has 185 states, 121 states have (on average 1.1818181818181819) internal successors, (143), 126 states have internal predecessors, (143), 40 states have call successors, (40), 25 states have call predecessors, (40), 23 states have return successors, (37), 33 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-27 13:28:50,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:50,857 INFO L93 Difference]: Finished difference Result 185 states and 220 transitions. [2022-04-27 13:28:50,857 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 220 transitions. [2022-04-27 13:28:50,859 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:50,859 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:50,859 INFO L74 IsIncluded]: Start isIncluded. First operand has 185 states, 121 states have (on average 1.1818181818181819) internal successors, (143), 126 states have internal predecessors, (143), 40 states have call successors, (40), 25 states have call predecessors, (40), 23 states have return successors, (37), 33 states have call predecessors, (37), 37 states have call successors, (37) Second operand 185 states. [2022-04-27 13:28:50,859 INFO L87 Difference]: Start difference. First operand has 185 states, 121 states have (on average 1.1818181818181819) internal successors, (143), 126 states have internal predecessors, (143), 40 states have call successors, (40), 25 states have call predecessors, (40), 23 states have return successors, (37), 33 states have call predecessors, (37), 37 states have call successors, (37) Second operand 185 states. [2022-04-27 13:28:50,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:50,863 INFO L93 Difference]: Finished difference Result 185 states and 220 transitions. [2022-04-27 13:28:50,863 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 220 transitions. [2022-04-27 13:28:50,863 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:50,863 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:50,863 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:28:50,863 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:28:50,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 185 states, 121 states have (on average 1.1818181818181819) internal successors, (143), 126 states have internal predecessors, (143), 40 states have call successors, (40), 25 states have call predecessors, (40), 23 states have return successors, (37), 33 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-27 13:28:50,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 185 states to 185 states and 220 transitions. [2022-04-27 13:28:50,867 INFO L78 Accepts]: Start accepts. Automaton has 185 states and 220 transitions. Word has length 84 [2022-04-27 13:28:50,867 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:28:50,867 INFO L495 AbstractCegarLoop]: Abstraction has 185 states and 220 transitions. [2022-04-27 13:28:50,868 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:28:50,868 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 220 transitions. [2022-04-27 13:28:50,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-27 13:28:50,869 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:28:50,869 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 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, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:28:50,891 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-27 13:28:51,083 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-27 13:28:51,083 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:28:51,084 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:28:51,084 INFO L85 PathProgramCache]: Analyzing trace with hash 973212947, now seen corresponding path program 1 times [2022-04-27 13:28:51,084 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:28:51,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1544080195] [2022-04-27 13:28:51,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:51,084 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:28:51,101 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:28:51,101 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [829121097] [2022-04-27 13:28:51,102 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:51,102 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:28:51,102 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:28:51,112 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-27 13:28:51,115 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-27 13:28:51,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:51,157 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:28:51,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:51,169 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:28:52,182 INFO L272 TraceCheckUtils]: 0: Hoare triple {12272#true} call ULTIMATE.init(); {12272#true} is VALID [2022-04-27 13:28:52,183 INFO L290 TraceCheckUtils]: 1: Hoare triple {12272#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12272#true} is VALID [2022-04-27 13:28:52,183 INFO L290 TraceCheckUtils]: 2: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,183 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12272#true} {12272#true} #96#return; {12272#true} is VALID [2022-04-27 13:28:52,183 INFO L272 TraceCheckUtils]: 4: Hoare triple {12272#true} call #t~ret8 := main(); {12272#true} is VALID [2022-04-27 13:28:52,183 INFO L290 TraceCheckUtils]: 5: Hoare triple {12272#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {12272#true} is VALID [2022-04-27 13:28:52,183 INFO L272 TraceCheckUtils]: 6: Hoare triple {12272#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12272#true} is VALID [2022-04-27 13:28:52,183 INFO L290 TraceCheckUtils]: 7: Hoare triple {12272#true} ~cond := #in~cond; {12272#true} is VALID [2022-04-27 13:28:52,183 INFO L290 TraceCheckUtils]: 8: Hoare triple {12272#true} assume !(0 == ~cond); {12272#true} is VALID [2022-04-27 13:28:52,183 INFO L290 TraceCheckUtils]: 9: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,183 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12272#true} {12272#true} #80#return; {12272#true} is VALID [2022-04-27 13:28:52,184 INFO L290 TraceCheckUtils]: 11: Hoare triple {12272#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12310#(<= 1 main_~p~0)} is VALID [2022-04-27 13:28:52,184 INFO L290 TraceCheckUtils]: 12: Hoare triple {12310#(<= 1 main_~p~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12310#(<= 1 main_~p~0)} is VALID [2022-04-27 13:28:52,184 INFO L290 TraceCheckUtils]: 13: Hoare triple {12310#(<= 1 main_~p~0)} assume !!(#t~post6 < 5);havoc #t~post6; {12310#(<= 1 main_~p~0)} is VALID [2022-04-27 13:28:52,184 INFO L272 TraceCheckUtils]: 14: Hoare triple {12310#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12272#true} is VALID [2022-04-27 13:28:52,184 INFO L290 TraceCheckUtils]: 15: Hoare triple {12272#true} ~cond := #in~cond; {12272#true} is VALID [2022-04-27 13:28:52,184 INFO L290 TraceCheckUtils]: 16: Hoare triple {12272#true} assume !(0 == ~cond); {12272#true} is VALID [2022-04-27 13:28:52,184 INFO L290 TraceCheckUtils]: 17: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,185 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12272#true} {12310#(<= 1 main_~p~0)} #82#return; {12310#(<= 1 main_~p~0)} is VALID [2022-04-27 13:28:52,185 INFO L272 TraceCheckUtils]: 19: Hoare triple {12310#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12272#true} is VALID [2022-04-27 13:28:52,185 INFO L290 TraceCheckUtils]: 20: Hoare triple {12272#true} ~cond := #in~cond; {12272#true} is VALID [2022-04-27 13:28:52,185 INFO L290 TraceCheckUtils]: 21: Hoare triple {12272#true} assume !(0 == ~cond); {12272#true} is VALID [2022-04-27 13:28:52,185 INFO L290 TraceCheckUtils]: 22: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,185 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12272#true} {12310#(<= 1 main_~p~0)} #84#return; {12310#(<= 1 main_~p~0)} is VALID [2022-04-27 13:28:52,185 INFO L272 TraceCheckUtils]: 24: Hoare triple {12310#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12272#true} is VALID [2022-04-27 13:28:52,186 INFO L290 TraceCheckUtils]: 25: Hoare triple {12272#true} ~cond := #in~cond; {12272#true} is VALID [2022-04-27 13:28:52,186 INFO L290 TraceCheckUtils]: 26: Hoare triple {12272#true} assume !(0 == ~cond); {12272#true} is VALID [2022-04-27 13:28:52,186 INFO L290 TraceCheckUtils]: 27: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,186 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12272#true} {12310#(<= 1 main_~p~0)} #86#return; {12310#(<= 1 main_~p~0)} is VALID [2022-04-27 13:28:52,187 INFO L290 TraceCheckUtils]: 29: Hoare triple {12310#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12365#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:28:52,187 INFO L290 TraceCheckUtils]: 30: Hoare triple {12365#(<= 1 (div main_~p~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12365#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:28:52,187 INFO L290 TraceCheckUtils]: 31: Hoare triple {12365#(<= 1 (div main_~p~0 2))} assume !!(#t~post6 < 5);havoc #t~post6; {12365#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:28:52,187 INFO L272 TraceCheckUtils]: 32: Hoare triple {12365#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12272#true} is VALID [2022-04-27 13:28:52,187 INFO L290 TraceCheckUtils]: 33: Hoare triple {12272#true} ~cond := #in~cond; {12272#true} is VALID [2022-04-27 13:28:52,188 INFO L290 TraceCheckUtils]: 34: Hoare triple {12272#true} assume !(0 == ~cond); {12272#true} is VALID [2022-04-27 13:28:52,188 INFO L290 TraceCheckUtils]: 35: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,188 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12272#true} {12365#(<= 1 (div main_~p~0 2))} #82#return; {12365#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:28:52,188 INFO L272 TraceCheckUtils]: 37: Hoare triple {12365#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12272#true} is VALID [2022-04-27 13:28:52,188 INFO L290 TraceCheckUtils]: 38: Hoare triple {12272#true} ~cond := #in~cond; {12272#true} is VALID [2022-04-27 13:28:52,188 INFO L290 TraceCheckUtils]: 39: Hoare triple {12272#true} assume !(0 == ~cond); {12272#true} is VALID [2022-04-27 13:28:52,188 INFO L290 TraceCheckUtils]: 40: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,189 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12272#true} {12365#(<= 1 (div main_~p~0 2))} #84#return; {12365#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:28:52,189 INFO L272 TraceCheckUtils]: 42: Hoare triple {12365#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12272#true} is VALID [2022-04-27 13:28:52,189 INFO L290 TraceCheckUtils]: 43: Hoare triple {12272#true} ~cond := #in~cond; {12272#true} is VALID [2022-04-27 13:28:52,189 INFO L290 TraceCheckUtils]: 44: Hoare triple {12272#true} assume !(0 == ~cond); {12272#true} is VALID [2022-04-27 13:28:52,189 INFO L290 TraceCheckUtils]: 45: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,189 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {12272#true} {12365#(<= 1 (div main_~p~0 2))} #86#return; {12365#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:28:52,190 INFO L290 TraceCheckUtils]: 47: Hoare triple {12365#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12420#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:52,190 INFO L290 TraceCheckUtils]: 48: Hoare triple {12420#(<= 1 (div (div main_~p~0 2) 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12420#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:52,191 INFO L290 TraceCheckUtils]: 49: Hoare triple {12420#(<= 1 (div (div main_~p~0 2) 2))} assume !!(#t~post6 < 5);havoc #t~post6; {12420#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:52,191 INFO L272 TraceCheckUtils]: 50: Hoare triple {12420#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12272#true} is VALID [2022-04-27 13:28:52,191 INFO L290 TraceCheckUtils]: 51: Hoare triple {12272#true} ~cond := #in~cond; {12272#true} is VALID [2022-04-27 13:28:52,191 INFO L290 TraceCheckUtils]: 52: Hoare triple {12272#true} assume !(0 == ~cond); {12272#true} is VALID [2022-04-27 13:28:52,191 INFO L290 TraceCheckUtils]: 53: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,191 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {12272#true} {12420#(<= 1 (div (div main_~p~0 2) 2))} #82#return; {12420#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:52,191 INFO L272 TraceCheckUtils]: 55: Hoare triple {12420#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12272#true} is VALID [2022-04-27 13:28:52,191 INFO L290 TraceCheckUtils]: 56: Hoare triple {12272#true} ~cond := #in~cond; {12272#true} is VALID [2022-04-27 13:28:52,191 INFO L290 TraceCheckUtils]: 57: Hoare triple {12272#true} assume !(0 == ~cond); {12272#true} is VALID [2022-04-27 13:28:52,191 INFO L290 TraceCheckUtils]: 58: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,192 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {12272#true} {12420#(<= 1 (div (div main_~p~0 2) 2))} #84#return; {12420#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:52,192 INFO L272 TraceCheckUtils]: 60: Hoare triple {12420#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12272#true} is VALID [2022-04-27 13:28:52,192 INFO L290 TraceCheckUtils]: 61: Hoare triple {12272#true} ~cond := #in~cond; {12272#true} is VALID [2022-04-27 13:28:52,192 INFO L290 TraceCheckUtils]: 62: Hoare triple {12272#true} assume !(0 == ~cond); {12272#true} is VALID [2022-04-27 13:28:52,192 INFO L290 TraceCheckUtils]: 63: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,192 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {12272#true} {12420#(<= 1 (div (div main_~p~0 2) 2))} #86#return; {12420#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:52,193 INFO L290 TraceCheckUtils]: 65: Hoare triple {12420#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {12420#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:52,193 INFO L290 TraceCheckUtils]: 66: Hoare triple {12420#(<= 1 (div (div main_~p~0 2) 2))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12420#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:52,193 INFO L290 TraceCheckUtils]: 67: Hoare triple {12420#(<= 1 (div (div main_~p~0 2) 2))} assume !!(#t~post7 < 5);havoc #t~post7; {12420#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:52,193 INFO L272 TraceCheckUtils]: 68: Hoare triple {12420#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12272#true} is VALID [2022-04-27 13:28:52,193 INFO L290 TraceCheckUtils]: 69: Hoare triple {12272#true} ~cond := #in~cond; {12272#true} is VALID [2022-04-27 13:28:52,193 INFO L290 TraceCheckUtils]: 70: Hoare triple {12272#true} assume !(0 == ~cond); {12272#true} is VALID [2022-04-27 13:28:52,193 INFO L290 TraceCheckUtils]: 71: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,194 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12272#true} {12420#(<= 1 (div (div main_~p~0 2) 2))} #88#return; {12420#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:52,194 INFO L272 TraceCheckUtils]: 73: Hoare triple {12420#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12272#true} is VALID [2022-04-27 13:28:52,194 INFO L290 TraceCheckUtils]: 74: Hoare triple {12272#true} ~cond := #in~cond; {12272#true} is VALID [2022-04-27 13:28:52,194 INFO L290 TraceCheckUtils]: 75: Hoare triple {12272#true} assume !(0 == ~cond); {12272#true} is VALID [2022-04-27 13:28:52,194 INFO L290 TraceCheckUtils]: 76: Hoare triple {12272#true} assume true; {12272#true} is VALID [2022-04-27 13:28:52,194 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12272#true} {12420#(<= 1 (div (div main_~p~0 2) 2))} #90#return; {12420#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:52,195 INFO L290 TraceCheckUtils]: 78: Hoare triple {12420#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {12273#false} is VALID [2022-04-27 13:28:52,195 INFO L272 TraceCheckUtils]: 79: Hoare triple {12273#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12273#false} is VALID [2022-04-27 13:28:52,195 INFO L290 TraceCheckUtils]: 80: Hoare triple {12273#false} ~cond := #in~cond; {12273#false} is VALID [2022-04-27 13:28:52,195 INFO L290 TraceCheckUtils]: 81: Hoare triple {12273#false} assume !(0 == ~cond); {12273#false} is VALID [2022-04-27 13:28:52,195 INFO L290 TraceCheckUtils]: 82: Hoare triple {12273#false} assume true; {12273#false} is VALID [2022-04-27 13:28:52,195 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {12273#false} {12273#false} #92#return; {12273#false} is VALID [2022-04-27 13:28:52,195 INFO L272 TraceCheckUtils]: 84: Hoare triple {12273#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {12273#false} is VALID [2022-04-27 13:28:52,195 INFO L290 TraceCheckUtils]: 85: Hoare triple {12273#false} ~cond := #in~cond; {12273#false} is VALID [2022-04-27 13:28:52,195 INFO L290 TraceCheckUtils]: 86: Hoare triple {12273#false} assume 0 == ~cond; {12273#false} is VALID [2022-04-27 13:28:52,195 INFO L290 TraceCheckUtils]: 87: Hoare triple {12273#false} assume !false; {12273#false} is VALID [2022-04-27 13:28:52,196 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 84 proven. 0 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2022-04-27 13:28:52,196 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:28:52,196 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:28:52,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1544080195] [2022-04-27 13:28:52,196 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:28:52,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [829121097] [2022-04-27 13:28:52,196 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [829121097] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:28:52,196 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:28:52,196 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:28:52,196 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [766826381] [2022-04-27 13:28:52,196 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:28:52,197 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 88 [2022-04-27 13:28:52,197 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:28:52,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:28:52,245 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:52,245 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:28:52,245 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:28:52,246 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:28:52,246 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:28:52,246 INFO L87 Difference]: Start difference. First operand 185 states and 220 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:28:52,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:52,548 INFO L93 Difference]: Finished difference Result 205 states and 245 transitions. [2022-04-27 13:28:52,548 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:28:52,548 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 88 [2022-04-27 13:28:52,548 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:28:52,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:28:52,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 94 transitions. [2022-04-27 13:28:52,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:28:52,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 94 transitions. [2022-04-27 13:28:52,550 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 94 transitions. [2022-04-27 13:28:52,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:52,638 INFO L225 Difference]: With dead ends: 205 [2022-04-27 13:28:52,639 INFO L226 Difference]: Without dead ends: 184 [2022-04-27 13:28:52,639 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 84 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:28:52,639 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 23 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 124 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:28:52,639 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 124 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:28:52,640 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 184 states. [2022-04-27 13:28:52,740 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 184 to 174. [2022-04-27 13:28:52,740 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:28:52,740 INFO L82 GeneralOperation]: Start isEquivalent. First operand 184 states. Second operand has 174 states, 115 states have (on average 1.1478260869565218) internal successors, (132), 118 states have internal predecessors, (132), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:28:52,740 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand has 174 states, 115 states have (on average 1.1478260869565218) internal successors, (132), 118 states have internal predecessors, (132), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:28:52,741 INFO L87 Difference]: Start difference. First operand 184 states. Second operand has 174 states, 115 states have (on average 1.1478260869565218) internal successors, (132), 118 states have internal predecessors, (132), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:28:52,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:52,744 INFO L93 Difference]: Finished difference Result 184 states and 218 transitions. [2022-04-27 13:28:52,744 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 218 transitions. [2022-04-27 13:28:52,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:52,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:52,745 INFO L74 IsIncluded]: Start isIncluded. First operand has 174 states, 115 states have (on average 1.1478260869565218) internal successors, (132), 118 states have internal predecessors, (132), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) Second operand 184 states. [2022-04-27 13:28:52,745 INFO L87 Difference]: Start difference. First operand has 174 states, 115 states have (on average 1.1478260869565218) internal successors, (132), 118 states have internal predecessors, (132), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) Second operand 184 states. [2022-04-27 13:28:52,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:52,748 INFO L93 Difference]: Finished difference Result 184 states and 218 transitions. [2022-04-27 13:28:52,748 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 218 transitions. [2022-04-27 13:28:52,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:52,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:52,748 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:28:52,748 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:28:52,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 174 states, 115 states have (on average 1.1478260869565218) internal successors, (132), 118 states have internal predecessors, (132), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:28:52,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 174 states to 174 states and 202 transitions. [2022-04-27 13:28:52,751 INFO L78 Accepts]: Start accepts. Automaton has 174 states and 202 transitions. Word has length 88 [2022-04-27 13:28:52,751 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:28:52,752 INFO L495 AbstractCegarLoop]: Abstraction has 174 states and 202 transitions. [2022-04-27 13:28:52,752 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:28:52,752 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 202 transitions. [2022-04-27 13:28:52,752 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-27 13:28:52,752 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:28:52,752 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:28:52,773 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-27 13:28:52,967 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-27 13:28:52,967 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:28:52,968 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:28:52,968 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 1 times [2022-04-27 13:28:52,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:28:52,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1399442023] [2022-04-27 13:28:52,968 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:52,968 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:28:52,982 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:28:52,982 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1236498024] [2022-04-27 13:28:52,982 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:52,983 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:28:52,983 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:28:52,985 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-27 13:28:52,986 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-27 13:28:53,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:53,031 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:28:53,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:53,048 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:28:53,427 INFO L272 TraceCheckUtils]: 0: Hoare triple {13431#true} call ULTIMATE.init(); {13431#true} is VALID [2022-04-27 13:28:53,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {13431#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {13439#(<= ~counter~0 0)} assume true; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,428 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13439#(<= ~counter~0 0)} {13431#true} #96#return; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {13439#(<= ~counter~0 0)} call #t~ret8 := main(); {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {13439#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,429 INFO L272 TraceCheckUtils]: 6: Hoare triple {13439#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,429 INFO L290 TraceCheckUtils]: 7: Hoare triple {13439#(<= ~counter~0 0)} ~cond := #in~cond; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,429 INFO L290 TraceCheckUtils]: 8: Hoare triple {13439#(<= ~counter~0 0)} assume !(0 == ~cond); {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {13439#(<= ~counter~0 0)} assume true; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,430 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13439#(<= ~counter~0 0)} {13439#(<= ~counter~0 0)} #80#return; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,430 INFO L290 TraceCheckUtils]: 11: Hoare triple {13439#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,431 INFO L290 TraceCheckUtils]: 12: Hoare triple {13439#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {13473#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,431 INFO L272 TraceCheckUtils]: 14: Hoare triple {13473#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {13473#(<= ~counter~0 1)} ~cond := #in~cond; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,432 INFO L290 TraceCheckUtils]: 16: Hoare triple {13473#(<= ~counter~0 1)} assume !(0 == ~cond); {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,432 INFO L290 TraceCheckUtils]: 17: Hoare triple {13473#(<= ~counter~0 1)} assume true; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,432 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13473#(<= ~counter~0 1)} {13473#(<= ~counter~0 1)} #82#return; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,433 INFO L272 TraceCheckUtils]: 19: Hoare triple {13473#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,433 INFO L290 TraceCheckUtils]: 20: Hoare triple {13473#(<= ~counter~0 1)} ~cond := #in~cond; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,433 INFO L290 TraceCheckUtils]: 21: Hoare triple {13473#(<= ~counter~0 1)} assume !(0 == ~cond); {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,433 INFO L290 TraceCheckUtils]: 22: Hoare triple {13473#(<= ~counter~0 1)} assume true; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,434 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13473#(<= ~counter~0 1)} {13473#(<= ~counter~0 1)} #84#return; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,434 INFO L272 TraceCheckUtils]: 24: Hoare triple {13473#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,434 INFO L290 TraceCheckUtils]: 25: Hoare triple {13473#(<= ~counter~0 1)} ~cond := #in~cond; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,435 INFO L290 TraceCheckUtils]: 26: Hoare triple {13473#(<= ~counter~0 1)} assume !(0 == ~cond); {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,435 INFO L290 TraceCheckUtils]: 27: Hoare triple {13473#(<= ~counter~0 1)} assume true; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,435 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13473#(<= ~counter~0 1)} {13473#(<= ~counter~0 1)} #86#return; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,435 INFO L290 TraceCheckUtils]: 29: Hoare triple {13473#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,436 INFO L290 TraceCheckUtils]: 30: Hoare triple {13473#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,436 INFO L290 TraceCheckUtils]: 31: Hoare triple {13528#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,436 INFO L272 TraceCheckUtils]: 32: Hoare triple {13528#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,437 INFO L290 TraceCheckUtils]: 33: Hoare triple {13528#(<= ~counter~0 2)} ~cond := #in~cond; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,437 INFO L290 TraceCheckUtils]: 34: Hoare triple {13528#(<= ~counter~0 2)} assume !(0 == ~cond); {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,437 INFO L290 TraceCheckUtils]: 35: Hoare triple {13528#(<= ~counter~0 2)} assume true; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,438 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13528#(<= ~counter~0 2)} {13528#(<= ~counter~0 2)} #82#return; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,438 INFO L272 TraceCheckUtils]: 37: Hoare triple {13528#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,438 INFO L290 TraceCheckUtils]: 38: Hoare triple {13528#(<= ~counter~0 2)} ~cond := #in~cond; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,438 INFO L290 TraceCheckUtils]: 39: Hoare triple {13528#(<= ~counter~0 2)} assume !(0 == ~cond); {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,439 INFO L290 TraceCheckUtils]: 40: Hoare triple {13528#(<= ~counter~0 2)} assume true; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,439 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13528#(<= ~counter~0 2)} {13528#(<= ~counter~0 2)} #84#return; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,439 INFO L272 TraceCheckUtils]: 42: Hoare triple {13528#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,440 INFO L290 TraceCheckUtils]: 43: Hoare triple {13528#(<= ~counter~0 2)} ~cond := #in~cond; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,440 INFO L290 TraceCheckUtils]: 44: Hoare triple {13528#(<= ~counter~0 2)} assume !(0 == ~cond); {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,440 INFO L290 TraceCheckUtils]: 45: Hoare triple {13528#(<= ~counter~0 2)} assume true; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,441 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13528#(<= ~counter~0 2)} {13528#(<= ~counter~0 2)} #86#return; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,441 INFO L290 TraceCheckUtils]: 47: Hoare triple {13528#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,441 INFO L290 TraceCheckUtils]: 48: Hoare triple {13528#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,441 INFO L290 TraceCheckUtils]: 49: Hoare triple {13583#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,442 INFO L272 TraceCheckUtils]: 50: Hoare triple {13583#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,442 INFO L290 TraceCheckUtils]: 51: Hoare triple {13583#(<= ~counter~0 3)} ~cond := #in~cond; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,442 INFO L290 TraceCheckUtils]: 52: Hoare triple {13583#(<= ~counter~0 3)} assume !(0 == ~cond); {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,442 INFO L290 TraceCheckUtils]: 53: Hoare triple {13583#(<= ~counter~0 3)} assume true; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,443 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13583#(<= ~counter~0 3)} {13583#(<= ~counter~0 3)} #82#return; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,443 INFO L272 TraceCheckUtils]: 55: Hoare triple {13583#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,443 INFO L290 TraceCheckUtils]: 56: Hoare triple {13583#(<= ~counter~0 3)} ~cond := #in~cond; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,444 INFO L290 TraceCheckUtils]: 57: Hoare triple {13583#(<= ~counter~0 3)} assume !(0 == ~cond); {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,444 INFO L290 TraceCheckUtils]: 58: Hoare triple {13583#(<= ~counter~0 3)} assume true; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,445 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13583#(<= ~counter~0 3)} {13583#(<= ~counter~0 3)} #84#return; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,445 INFO L272 TraceCheckUtils]: 60: Hoare triple {13583#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,445 INFO L290 TraceCheckUtils]: 61: Hoare triple {13583#(<= ~counter~0 3)} ~cond := #in~cond; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,445 INFO L290 TraceCheckUtils]: 62: Hoare triple {13583#(<= ~counter~0 3)} assume !(0 == ~cond); {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,446 INFO L290 TraceCheckUtils]: 63: Hoare triple {13583#(<= ~counter~0 3)} assume true; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,446 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13583#(<= ~counter~0 3)} {13583#(<= ~counter~0 3)} #86#return; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,446 INFO L290 TraceCheckUtils]: 65: Hoare triple {13583#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,447 INFO L290 TraceCheckUtils]: 66: Hoare triple {13583#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,447 INFO L290 TraceCheckUtils]: 67: Hoare triple {13638#(<= ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,447 INFO L272 TraceCheckUtils]: 68: Hoare triple {13638#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,448 INFO L290 TraceCheckUtils]: 69: Hoare triple {13638#(<= ~counter~0 4)} ~cond := #in~cond; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,448 INFO L290 TraceCheckUtils]: 70: Hoare triple {13638#(<= ~counter~0 4)} assume !(0 == ~cond); {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,448 INFO L290 TraceCheckUtils]: 71: Hoare triple {13638#(<= ~counter~0 4)} assume true; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,448 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13638#(<= ~counter~0 4)} {13638#(<= ~counter~0 4)} #82#return; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,449 INFO L272 TraceCheckUtils]: 73: Hoare triple {13638#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,449 INFO L290 TraceCheckUtils]: 74: Hoare triple {13638#(<= ~counter~0 4)} ~cond := #in~cond; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,449 INFO L290 TraceCheckUtils]: 75: Hoare triple {13638#(<= ~counter~0 4)} assume !(0 == ~cond); {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,450 INFO L290 TraceCheckUtils]: 76: Hoare triple {13638#(<= ~counter~0 4)} assume true; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,450 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {13638#(<= ~counter~0 4)} {13638#(<= ~counter~0 4)} #84#return; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,450 INFO L272 TraceCheckUtils]: 78: Hoare triple {13638#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,451 INFO L290 TraceCheckUtils]: 79: Hoare triple {13638#(<= ~counter~0 4)} ~cond := #in~cond; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,451 INFO L290 TraceCheckUtils]: 80: Hoare triple {13638#(<= ~counter~0 4)} assume !(0 == ~cond); {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,451 INFO L290 TraceCheckUtils]: 81: Hoare triple {13638#(<= ~counter~0 4)} assume true; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,451 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {13638#(<= ~counter~0 4)} {13638#(<= ~counter~0 4)} #86#return; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,452 INFO L290 TraceCheckUtils]: 83: Hoare triple {13638#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,452 INFO L290 TraceCheckUtils]: 84: Hoare triple {13638#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13693#(<= |main_#t~post6| 4)} is VALID [2022-04-27 13:28:53,452 INFO L290 TraceCheckUtils]: 85: Hoare triple {13693#(<= |main_#t~post6| 4)} assume !(#t~post6 < 5);havoc #t~post6; {13432#false} is VALID [2022-04-27 13:28:53,452 INFO L290 TraceCheckUtils]: 86: Hoare triple {13432#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13432#false} is VALID [2022-04-27 13:28:53,452 INFO L290 TraceCheckUtils]: 87: Hoare triple {13432#false} assume !(#t~post7 < 5);havoc #t~post7; {13432#false} is VALID [2022-04-27 13:28:53,452 INFO L272 TraceCheckUtils]: 88: Hoare triple {13432#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13432#false} is VALID [2022-04-27 13:28:53,453 INFO L290 TraceCheckUtils]: 89: Hoare triple {13432#false} ~cond := #in~cond; {13432#false} is VALID [2022-04-27 13:28:53,453 INFO L290 TraceCheckUtils]: 90: Hoare triple {13432#false} assume !(0 == ~cond); {13432#false} is VALID [2022-04-27 13:28:53,453 INFO L290 TraceCheckUtils]: 91: Hoare triple {13432#false} assume true; {13432#false} is VALID [2022-04-27 13:28:53,453 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {13432#false} {13432#false} #92#return; {13432#false} is VALID [2022-04-27 13:28:53,453 INFO L272 TraceCheckUtils]: 93: Hoare triple {13432#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {13432#false} is VALID [2022-04-27 13:28:53,453 INFO L290 TraceCheckUtils]: 94: Hoare triple {13432#false} ~cond := #in~cond; {13432#false} is VALID [2022-04-27 13:28:53,453 INFO L290 TraceCheckUtils]: 95: Hoare triple {13432#false} assume 0 == ~cond; {13432#false} is VALID [2022-04-27 13:28:53,453 INFO L290 TraceCheckUtils]: 96: Hoare triple {13432#false} assume !false; {13432#false} is VALID [2022-04-27 13:28:53,453 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 72 proven. 260 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-04-27 13:28:53,453 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:28:53,747 INFO L290 TraceCheckUtils]: 96: Hoare triple {13432#false} assume !false; {13432#false} is VALID [2022-04-27 13:28:53,747 INFO L290 TraceCheckUtils]: 95: Hoare triple {13432#false} assume 0 == ~cond; {13432#false} is VALID [2022-04-27 13:28:53,747 INFO L290 TraceCheckUtils]: 94: Hoare triple {13432#false} ~cond := #in~cond; {13432#false} is VALID [2022-04-27 13:28:53,747 INFO L272 TraceCheckUtils]: 93: Hoare triple {13432#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {13432#false} is VALID [2022-04-27 13:28:53,747 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {13431#true} {13432#false} #92#return; {13432#false} is VALID [2022-04-27 13:28:53,747 INFO L290 TraceCheckUtils]: 91: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,748 INFO L290 TraceCheckUtils]: 90: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,748 INFO L290 TraceCheckUtils]: 89: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,748 INFO L272 TraceCheckUtils]: 88: Hoare triple {13432#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,748 INFO L290 TraceCheckUtils]: 87: Hoare triple {13432#false} assume !(#t~post7 < 5);havoc #t~post7; {13432#false} is VALID [2022-04-27 13:28:53,748 INFO L290 TraceCheckUtils]: 86: Hoare triple {13432#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13432#false} is VALID [2022-04-27 13:28:53,748 INFO L290 TraceCheckUtils]: 85: Hoare triple {13693#(<= |main_#t~post6| 4)} assume !(#t~post6 < 5);havoc #t~post6; {13432#false} is VALID [2022-04-27 13:28:53,749 INFO L290 TraceCheckUtils]: 84: Hoare triple {13638#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13693#(<= |main_#t~post6| 4)} is VALID [2022-04-27 13:28:53,749 INFO L290 TraceCheckUtils]: 83: Hoare triple {13638#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,749 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {13431#true} {13638#(<= ~counter~0 4)} #86#return; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,749 INFO L290 TraceCheckUtils]: 81: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,749 INFO L290 TraceCheckUtils]: 80: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,749 INFO L290 TraceCheckUtils]: 79: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,749 INFO L272 TraceCheckUtils]: 78: Hoare triple {13638#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,750 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {13431#true} {13638#(<= ~counter~0 4)} #84#return; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,750 INFO L290 TraceCheckUtils]: 76: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,750 INFO L290 TraceCheckUtils]: 75: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,750 INFO L290 TraceCheckUtils]: 74: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,750 INFO L272 TraceCheckUtils]: 73: Hoare triple {13638#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,750 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13431#true} {13638#(<= ~counter~0 4)} #82#return; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,751 INFO L290 TraceCheckUtils]: 71: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,751 INFO L290 TraceCheckUtils]: 70: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,751 INFO L290 TraceCheckUtils]: 69: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,751 INFO L272 TraceCheckUtils]: 68: Hoare triple {13638#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,751 INFO L290 TraceCheckUtils]: 67: Hoare triple {13638#(<= ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,752 INFO L290 TraceCheckUtils]: 66: Hoare triple {13583#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13638#(<= ~counter~0 4)} is VALID [2022-04-27 13:28:53,752 INFO L290 TraceCheckUtils]: 65: Hoare triple {13583#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,752 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13431#true} {13583#(<= ~counter~0 3)} #86#return; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,752 INFO L290 TraceCheckUtils]: 63: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,752 INFO L290 TraceCheckUtils]: 62: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,752 INFO L290 TraceCheckUtils]: 61: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,752 INFO L272 TraceCheckUtils]: 60: Hoare triple {13583#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,753 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13431#true} {13583#(<= ~counter~0 3)} #84#return; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,753 INFO L290 TraceCheckUtils]: 58: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,753 INFO L290 TraceCheckUtils]: 57: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,753 INFO L290 TraceCheckUtils]: 56: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,753 INFO L272 TraceCheckUtils]: 55: Hoare triple {13583#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,754 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13431#true} {13583#(<= ~counter~0 3)} #82#return; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,754 INFO L290 TraceCheckUtils]: 53: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,754 INFO L290 TraceCheckUtils]: 52: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,754 INFO L290 TraceCheckUtils]: 51: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,754 INFO L272 TraceCheckUtils]: 50: Hoare triple {13583#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,754 INFO L290 TraceCheckUtils]: 49: Hoare triple {13583#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,754 INFO L290 TraceCheckUtils]: 48: Hoare triple {13528#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13583#(<= ~counter~0 3)} is VALID [2022-04-27 13:28:53,755 INFO L290 TraceCheckUtils]: 47: Hoare triple {13528#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,755 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13431#true} {13528#(<= ~counter~0 2)} #86#return; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,755 INFO L290 TraceCheckUtils]: 45: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,755 INFO L290 TraceCheckUtils]: 44: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,755 INFO L290 TraceCheckUtils]: 43: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,755 INFO L272 TraceCheckUtils]: 42: Hoare triple {13528#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,756 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13431#true} {13528#(<= ~counter~0 2)} #84#return; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,756 INFO L290 TraceCheckUtils]: 40: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,756 INFO L290 TraceCheckUtils]: 39: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,756 INFO L290 TraceCheckUtils]: 38: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,756 INFO L272 TraceCheckUtils]: 37: Hoare triple {13528#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,756 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13431#true} {13528#(<= ~counter~0 2)} #82#return; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,756 INFO L290 TraceCheckUtils]: 35: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,756 INFO L290 TraceCheckUtils]: 34: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,757 INFO L290 TraceCheckUtils]: 33: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,757 INFO L272 TraceCheckUtils]: 32: Hoare triple {13528#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,757 INFO L290 TraceCheckUtils]: 31: Hoare triple {13528#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,757 INFO L290 TraceCheckUtils]: 30: Hoare triple {13473#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13528#(<= ~counter~0 2)} is VALID [2022-04-27 13:28:53,758 INFO L290 TraceCheckUtils]: 29: Hoare triple {13473#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,758 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13431#true} {13473#(<= ~counter~0 1)} #86#return; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,758 INFO L290 TraceCheckUtils]: 27: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,758 INFO L290 TraceCheckUtils]: 26: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,758 INFO L290 TraceCheckUtils]: 25: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,758 INFO L272 TraceCheckUtils]: 24: Hoare triple {13473#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,759 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13431#true} {13473#(<= ~counter~0 1)} #84#return; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,759 INFO L290 TraceCheckUtils]: 22: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,759 INFO L290 TraceCheckUtils]: 21: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,759 INFO L290 TraceCheckUtils]: 20: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,759 INFO L272 TraceCheckUtils]: 19: Hoare triple {13473#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,759 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13431#true} {13473#(<= ~counter~0 1)} #82#return; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,759 INFO L290 TraceCheckUtils]: 17: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,759 INFO L290 TraceCheckUtils]: 16: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,759 INFO L272 TraceCheckUtils]: 14: Hoare triple {13473#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,760 INFO L290 TraceCheckUtils]: 13: Hoare triple {13473#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,760 INFO L290 TraceCheckUtils]: 12: Hoare triple {13439#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13473#(<= ~counter~0 1)} is VALID [2022-04-27 13:28:53,760 INFO L290 TraceCheckUtils]: 11: Hoare triple {13439#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,761 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13431#true} {13439#(<= ~counter~0 0)} #80#return; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,761 INFO L290 TraceCheckUtils]: 9: Hoare triple {13431#true} assume true; {13431#true} is VALID [2022-04-27 13:28:53,761 INFO L290 TraceCheckUtils]: 8: Hoare triple {13431#true} assume !(0 == ~cond); {13431#true} is VALID [2022-04-27 13:28:53,761 INFO L290 TraceCheckUtils]: 7: Hoare triple {13431#true} ~cond := #in~cond; {13431#true} is VALID [2022-04-27 13:28:53,761 INFO L272 TraceCheckUtils]: 6: Hoare triple {13439#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {13431#true} is VALID [2022-04-27 13:28:53,761 INFO L290 TraceCheckUtils]: 5: Hoare triple {13439#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,761 INFO L272 TraceCheckUtils]: 4: Hoare triple {13439#(<= ~counter~0 0)} call #t~ret8 := main(); {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,762 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13439#(<= ~counter~0 0)} {13431#true} #96#return; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,762 INFO L290 TraceCheckUtils]: 2: Hoare triple {13439#(<= ~counter~0 0)} assume true; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,762 INFO L290 TraceCheckUtils]: 1: Hoare triple {13431#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13439#(<= ~counter~0 0)} is VALID [2022-04-27 13:28:53,763 INFO L272 TraceCheckUtils]: 0: Hoare triple {13431#true} call ULTIMATE.init(); {13431#true} is VALID [2022-04-27 13:28:53,763 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 26 proven. 44 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-27 13:28:53,763 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:28:53,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1399442023] [2022-04-27 13:28:53,763 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:28:53,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1236498024] [2022-04-27 13:28:53,763 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1236498024] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:28:53,763 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:28:53,763 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-27 13:28:53,763 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [188187655] [2022-04-27 13:28:53,763 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:28:53,764 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 7 states have return successors, (29), 6 states have call predecessors, (29), 7 states have call successors, (29) Word has length 97 [2022-04-27 13:28:53,905 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:28:53,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 7 states have return successors, (29), 6 states have call predecessors, (29), 7 states have call successors, (29) [2022-04-27 13:28:53,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:53,980 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 13:28:53,980 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:28:53,980 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 13:28:53,981 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:28:53,981 INFO L87 Difference]: Start difference. First operand 174 states and 202 transitions. Second operand has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 7 states have return successors, (29), 6 states have call predecessors, (29), 7 states have call successors, (29) [2022-04-27 13:28:54,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:54,418 INFO L93 Difference]: Finished difference Result 232 states and 280 transitions. [2022-04-27 13:28:54,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 13:28:54,418 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 7 states have return successors, (29), 6 states have call predecessors, (29), 7 states have call successors, (29) Word has length 97 [2022-04-27 13:28:54,419 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:28:54,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 7 states have return successors, (29), 6 states have call predecessors, (29), 7 states have call successors, (29) [2022-04-27 13:28:54,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 123 transitions. [2022-04-27 13:28:54,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 7 states have return successors, (29), 6 states have call predecessors, (29), 7 states have call successors, (29) [2022-04-27 13:28:54,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 123 transitions. [2022-04-27 13:28:54,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 123 transitions. [2022-04-27 13:28:54,534 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-27 13:28:54,536 INFO L225 Difference]: With dead ends: 232 [2022-04-27 13:28:54,536 INFO L226 Difference]: Without dead ends: 176 [2022-04-27 13:28:54,537 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 186 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:28:54,537 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 15 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 66 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 206 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 66 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:28:54,537 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 206 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:28:54,537 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 176 states. [2022-04-27 13:28:54,644 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 176 to 176. [2022-04-27 13:28:54,644 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:28:54,644 INFO L82 GeneralOperation]: Start isEquivalent. First operand 176 states. Second operand has 176 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 120 states have internal predecessors, (134), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:28:54,645 INFO L74 IsIncluded]: Start isIncluded. First operand 176 states. Second operand has 176 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 120 states have internal predecessors, (134), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:28:54,645 INFO L87 Difference]: Start difference. First operand 176 states. Second operand has 176 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 120 states have internal predecessors, (134), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:28:54,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:54,647 INFO L93 Difference]: Finished difference Result 176 states and 204 transitions. [2022-04-27 13:28:54,648 INFO L276 IsEmpty]: Start isEmpty. Operand 176 states and 204 transitions. [2022-04-27 13:28:54,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:54,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:54,648 INFO L74 IsIncluded]: Start isIncluded. First operand has 176 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 120 states have internal predecessors, (134), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) Second operand 176 states. [2022-04-27 13:28:54,648 INFO L87 Difference]: Start difference. First operand has 176 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 120 states have internal predecessors, (134), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) Second operand 176 states. [2022-04-27 13:28:54,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:54,651 INFO L93 Difference]: Finished difference Result 176 states and 204 transitions. [2022-04-27 13:28:54,651 INFO L276 IsEmpty]: Start isEmpty. Operand 176 states and 204 transitions. [2022-04-27 13:28:54,651 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:54,651 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:54,651 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:28:54,651 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:28:54,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 176 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 120 states have internal predecessors, (134), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-27 13:28:54,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 176 states to 176 states and 204 transitions. [2022-04-27 13:28:54,657 INFO L78 Accepts]: Start accepts. Automaton has 176 states and 204 transitions. Word has length 97 [2022-04-27 13:28:54,658 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:28:54,658 INFO L495 AbstractCegarLoop]: Abstraction has 176 states and 204 transitions. [2022-04-27 13:28:54,658 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 7 states have return successors, (29), 6 states have call predecessors, (29), 7 states have call successors, (29) [2022-04-27 13:28:54,658 INFO L276 IsEmpty]: Start isEmpty. Operand 176 states and 204 transitions. [2022-04-27 13:28:54,658 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-27 13:28:54,658 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:28:54,659 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:28:54,677 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-27 13:28:54,871 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:28:54,871 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:28:54,871 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:28:54,872 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 1 times [2022-04-27 13:28:54,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:28:54,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1457622710] [2022-04-27 13:28:54,872 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:54,872 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:28:54,881 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:28:54,881 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1667853308] [2022-04-27 13:28:54,882 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:54,882 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:28:54,882 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:28:54,883 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-27 13:28:54,883 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-27 13:28:54,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:54,940 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-27 13:28:54,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:54,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:29:17,233 INFO L272 TraceCheckUtils]: 0: Hoare triple {14937#true} call ULTIMATE.init(); {14937#true} is VALID [2022-04-27 13:29:17,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {14937#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14937#true} is VALID [2022-04-27 13:29:17,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,233 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14937#true} {14937#true} #96#return; {14937#true} is VALID [2022-04-27 13:29:17,233 INFO L272 TraceCheckUtils]: 4: Hoare triple {14937#true} call #t~ret8 := main(); {14937#true} is VALID [2022-04-27 13:29:17,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {14937#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {14937#true} is VALID [2022-04-27 13:29:17,233 INFO L272 TraceCheckUtils]: 6: Hoare triple {14937#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:29:17,233 INFO L290 TraceCheckUtils]: 7: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,234 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14937#true} {14937#true} #80#return; {14937#true} is VALID [2022-04-27 13:29:17,234 INFO L290 TraceCheckUtils]: 11: Hoare triple {14937#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14975#(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-27 13:29:17,234 INFO L290 TraceCheckUtils]: 12: Hoare triple {14975#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14975#(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-27 13:29:17,235 INFO L290 TraceCheckUtils]: 13: Hoare triple {14975#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {14975#(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-27 13:29:17,235 INFO L272 TraceCheckUtils]: 14: Hoare triple {14975#(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)); {14937#true} is VALID [2022-04-27 13:29:17,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,235 INFO L290 TraceCheckUtils]: 16: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,235 INFO L290 TraceCheckUtils]: 17: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,235 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {14937#true} {14975#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {14975#(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-27 13:29:17,235 INFO L272 TraceCheckUtils]: 19: Hoare triple {14975#(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)); {14937#true} is VALID [2022-04-27 13:29:17,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,236 INFO L290 TraceCheckUtils]: 21: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,236 INFO L290 TraceCheckUtils]: 22: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,236 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14937#true} {14975#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {14975#(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-27 13:29:17,236 INFO L272 TraceCheckUtils]: 24: Hoare triple {14975#(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)); {14937#true} is VALID [2022-04-27 13:29:17,236 INFO L290 TraceCheckUtils]: 25: Hoare triple {14937#true} ~cond := #in~cond; {15018#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:29:17,237 INFO L290 TraceCheckUtils]: 26: Hoare triple {15018#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15022#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:29:17,237 INFO L290 TraceCheckUtils]: 27: Hoare triple {15022#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15022#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:29:17,239 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15022#(not (= |__VERIFIER_assert_#in~cond| 0))} {14975#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {15029#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (* (mod main_~d~0 4294967296) main_~p~0) main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:29:17,241 INFO L290 TraceCheckUtils]: 29: Hoare triple {15029#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (* (mod main_~d~0 4294967296) main_~p~0) main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} is VALID [2022-04-27 13:29:17,241 INFO L290 TraceCheckUtils]: 30: Hoare triple {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} is VALID [2022-04-27 13:29:17,242 INFO L290 TraceCheckUtils]: 31: Hoare triple {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} assume !!(#t~post6 < 5);havoc #t~post6; {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} is VALID [2022-04-27 13:29:17,242 INFO L272 TraceCheckUtils]: 32: Hoare triple {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:29:17,242 INFO L290 TraceCheckUtils]: 33: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,242 INFO L290 TraceCheckUtils]: 34: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,242 INFO L290 TraceCheckUtils]: 35: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,242 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14937#true} {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} #82#return; {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} is VALID [2022-04-27 13:29:17,243 INFO L272 TraceCheckUtils]: 37: Hoare triple {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:29:17,243 INFO L290 TraceCheckUtils]: 38: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,243 INFO L290 TraceCheckUtils]: 39: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,243 INFO L290 TraceCheckUtils]: 40: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,243 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14937#true} {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} #84#return; {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} is VALID [2022-04-27 13:29:17,243 INFO L272 TraceCheckUtils]: 42: Hoare triple {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:29:17,243 INFO L290 TraceCheckUtils]: 43: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,243 INFO L290 TraceCheckUtils]: 44: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,243 INFO L290 TraceCheckUtils]: 45: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,244 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14937#true} {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} #86#return; {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} is VALID [2022-04-27 13:29:17,247 INFO L290 TraceCheckUtils]: 47: Hoare triple {15033#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- main_~d~0) (- 2)) 4294967296) (div (- main_~d~0) (- 2))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:29:17,248 INFO L290 TraceCheckUtils]: 48: Hoare triple {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:29:17,248 INFO L290 TraceCheckUtils]: 49: Hoare triple {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:29:17,248 INFO L272 TraceCheckUtils]: 50: Hoare triple {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:29:17,249 INFO L290 TraceCheckUtils]: 51: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,249 INFO L290 TraceCheckUtils]: 52: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,249 INFO L290 TraceCheckUtils]: 53: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,249 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {14937#true} {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #82#return; {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:29:17,249 INFO L272 TraceCheckUtils]: 55: Hoare triple {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:29:17,249 INFO L290 TraceCheckUtils]: 56: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,249 INFO L290 TraceCheckUtils]: 57: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,249 INFO L290 TraceCheckUtils]: 58: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,250 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14937#true} {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #84#return; {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:29:17,250 INFO L272 TraceCheckUtils]: 60: Hoare triple {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:29:17,250 INFO L290 TraceCheckUtils]: 61: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,250 INFO L290 TraceCheckUtils]: 62: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,250 INFO L290 TraceCheckUtils]: 63: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,251 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14937#true} {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #86#return; {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:29:17,251 INFO L290 TraceCheckUtils]: 65: Hoare triple {15088#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod (div (- (div (- main_~d~0) (- 2))) (- 2)) 4294967296) (div (- (div (- main_~d~0) (- 2))) (- 2))) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {15143#(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) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:29:17,251 INFO L290 TraceCheckUtils]: 66: Hoare triple {15143#(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) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15143#(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) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:29:17,252 INFO L290 TraceCheckUtils]: 67: Hoare triple {15143#(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) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 5);havoc #t~post7; {15143#(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) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:29:17,252 INFO L272 TraceCheckUtils]: 68: Hoare triple {15143#(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) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:29:17,252 INFO L290 TraceCheckUtils]: 69: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,252 INFO L290 TraceCheckUtils]: 70: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,252 INFO L290 TraceCheckUtils]: 71: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,253 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14937#true} {15143#(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) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #88#return; {15143#(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) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:29:17,253 INFO L272 TraceCheckUtils]: 73: Hoare triple {15143#(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) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:29:17,253 INFO L290 TraceCheckUtils]: 74: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,253 INFO L290 TraceCheckUtils]: 75: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,253 INFO L290 TraceCheckUtils]: 76: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,253 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {14937#true} {15143#(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) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #90#return; {15143#(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) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:29:17,255 INFO L290 TraceCheckUtils]: 78: Hoare triple {15143#(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) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:29:17,257 INFO L290 TraceCheckUtils]: 79: Hoare triple {15183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15187#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} is VALID [2022-04-27 13:29:17,257 INFO L290 TraceCheckUtils]: 80: Hoare triple {15187#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15187#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} is VALID [2022-04-27 13:29:17,258 INFO L290 TraceCheckUtils]: 81: Hoare triple {15187#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} assume !!(#t~post7 < 5);havoc #t~post7; {15187#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} is VALID [2022-04-27 13:29:17,258 INFO L272 TraceCheckUtils]: 82: Hoare triple {15187#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:29:17,258 INFO L290 TraceCheckUtils]: 83: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,258 INFO L290 TraceCheckUtils]: 84: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,258 INFO L290 TraceCheckUtils]: 85: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,258 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {14937#true} {15187#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} #88#return; {15187#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} is VALID [2022-04-27 13:29:17,258 INFO L272 TraceCheckUtils]: 87: Hoare triple {15187#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:29:17,258 INFO L290 TraceCheckUtils]: 88: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:29:17,258 INFO L290 TraceCheckUtils]: 89: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:29:17,259 INFO L290 TraceCheckUtils]: 90: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:29:17,259 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {14937#true} {15187#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} #90#return; {15187#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} is VALID [2022-04-27 13:29:17,261 INFO L290 TraceCheckUtils]: 92: Hoare triple {15187#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 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); {15227#(and (= main_~q~0 2) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2)) (- 2)) 2) 0) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (* main_~r~0 2) (mod main_~A~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:29:17,263 INFO L290 TraceCheckUtils]: 93: Hoare triple {15227#(and (= main_~q~0 2) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2)) (- 2)) 2) 0) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (* main_~r~0 2) (mod main_~A~0 4294967296)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15231#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-27 13:29:17,264 INFO L290 TraceCheckUtils]: 94: Hoare triple {15231#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15231#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-27 13:29:17,264 INFO L290 TraceCheckUtils]: 95: Hoare triple {15231#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} assume !(#t~post7 < 5);havoc #t~post7; {15231#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-27 13:29:17,266 INFO L272 TraceCheckUtils]: 96: Hoare triple {15231#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {15241#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:29:17,266 INFO L290 TraceCheckUtils]: 97: Hoare triple {15241#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15245#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:29:17,266 INFO L290 TraceCheckUtils]: 98: Hoare triple {15245#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14938#false} is VALID [2022-04-27 13:29:17,266 INFO L290 TraceCheckUtils]: 99: Hoare triple {14938#false} assume !false; {14938#false} is VALID [2022-04-27 13:29:17,267 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 31 proven. 59 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-27 13:29:17,267 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:29:55,789 WARN L232 SmtUtils]: Spent 5.32s on a formula simplification that was a NOOP. DAG size: 154 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:31:02,435 INFO L290 TraceCheckUtils]: 99: Hoare triple {14938#false} assume !false; {14938#false} is VALID [2022-04-27 13:31:02,436 INFO L290 TraceCheckUtils]: 98: Hoare triple {15245#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14938#false} is VALID [2022-04-27 13:31:02,436 INFO L290 TraceCheckUtils]: 97: Hoare triple {15241#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15245#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:31:02,437 INFO L272 TraceCheckUtils]: 96: Hoare triple {15261#(= (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)); {15241#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:31:02,437 INFO L290 TraceCheckUtils]: 95: Hoare triple {15261#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} assume !(#t~post7 < 5);havoc #t~post7; {15261#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-27 13:31:02,437 INFO L290 TraceCheckUtils]: 94: Hoare triple {15261#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15261#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-27 13:31:02,439 INFO L290 TraceCheckUtils]: 93: Hoare triple {15271#(= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 main_~p~0) main_~d~0) (* (- 1) main_~d~0) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15261#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-27 13:31:02,470 INFO L290 TraceCheckUtils]: 92: Hoare triple {15275#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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) (+ (div main_~d~0 2) 1))))))) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15271#(= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 main_~p~0) main_~d~0) (* (- 1) main_~d~0) main_~r~0))} is VALID [2022-04-27 13:31:02,471 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {14937#true} {15275#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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) (+ (div main_~d~0 2) 1))))))) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #90#return; {15275#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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) (+ (div main_~d~0 2) 1))))))) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:31:02,471 INFO L290 TraceCheckUtils]: 90: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:02,471 INFO L290 TraceCheckUtils]: 89: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:02,471 INFO L290 TraceCheckUtils]: 88: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:02,471 INFO L272 TraceCheckUtils]: 87: Hoare triple {15275#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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) (+ (div main_~d~0 2) 1))))))) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:31:02,471 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {14937#true} {15275#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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) (+ (div main_~d~0 2) 1))))))) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #88#return; {15275#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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) (+ (div main_~d~0 2) 1))))))) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:31:02,471 INFO L290 TraceCheckUtils]: 85: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:02,471 INFO L290 TraceCheckUtils]: 84: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:02,472 INFO L290 TraceCheckUtils]: 83: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:02,472 INFO L272 TraceCheckUtils]: 82: Hoare triple {15275#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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) (+ (div main_~d~0 2) 1))))))) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:31:02,473 INFO L290 TraceCheckUtils]: 81: Hoare triple {15275#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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) (+ (div main_~d~0 2) 1))))))) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(#t~post7 < 5);havoc #t~post7; {15275#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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) (+ (div main_~d~0 2) 1))))))) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:31:02,474 INFO L290 TraceCheckUtils]: 80: Hoare triple {15275#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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) (+ (div main_~d~0 2) 1))))))) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15275#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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) (+ (div main_~d~0 2) 1))))))) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:31:02,493 INFO L290 TraceCheckUtils]: 79: Hoare triple {15315#(and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))))) (= (mod main_~p~0 2) 0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15275#(and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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) (+ (div main_~d~0 2) 1))))))) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:31:02,698 INFO L290 TraceCheckUtils]: 78: Hoare triple {15319#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 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); {15315#(and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-27 13:31:02,699 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {14937#true} {15319#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))))))))} #90#return; {15319#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))))))))} is VALID [2022-04-27 13:31:02,699 INFO L290 TraceCheckUtils]: 76: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:02,699 INFO L290 TraceCheckUtils]: 75: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:02,699 INFO L290 TraceCheckUtils]: 74: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:02,699 INFO L272 TraceCheckUtils]: 73: Hoare triple {15319#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:31:02,701 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14937#true} {15319#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))))))))} #88#return; {15319#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))))))))} is VALID [2022-04-27 13:31:02,702 INFO L290 TraceCheckUtils]: 71: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:02,702 INFO L290 TraceCheckUtils]: 70: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:02,702 INFO L290 TraceCheckUtils]: 69: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:02,702 INFO L272 TraceCheckUtils]: 68: Hoare triple {15319#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:31:02,706 INFO L290 TraceCheckUtils]: 67: Hoare triple {15319#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))))))))} assume !!(#t~post7 < 5);havoc #t~post7; {15319#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))))))))} is VALID [2022-04-27 13:31:02,709 INFO L290 TraceCheckUtils]: 66: Hoare triple {15319#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15319#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))))))))} is VALID [2022-04-27 13:31:02,719 INFO L290 TraceCheckUtils]: 65: Hoare triple {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {15319#(and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))))))))} is VALID [2022-04-27 13:31:02,720 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14937#true} {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} #86#return; {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:31:02,720 INFO L290 TraceCheckUtils]: 63: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:02,720 INFO L290 TraceCheckUtils]: 62: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:02,720 INFO L290 TraceCheckUtils]: 61: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:02,720 INFO L272 TraceCheckUtils]: 60: Hoare triple {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:31:02,721 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14937#true} {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} #84#return; {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:31:02,721 INFO L290 TraceCheckUtils]: 58: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:02,721 INFO L290 TraceCheckUtils]: 57: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:02,721 INFO L290 TraceCheckUtils]: 56: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:02,721 INFO L272 TraceCheckUtils]: 55: Hoare triple {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:31:02,722 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {14937#true} {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} #82#return; {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:31:02,722 INFO L290 TraceCheckUtils]: 53: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:02,722 INFO L290 TraceCheckUtils]: 52: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:02,722 INFO L290 TraceCheckUtils]: 51: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:02,723 INFO L272 TraceCheckUtils]: 50: Hoare triple {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:31:02,726 INFO L290 TraceCheckUtils]: 49: Hoare triple {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:31:02,729 INFO L290 TraceCheckUtils]: 48: Hoare triple {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:31:03,426 INFO L290 TraceCheckUtils]: 47: Hoare triple {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (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; {15359#(or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (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))) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (< (div main_~d~0 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)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= (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))) (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))))) (or (and (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (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) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 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)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))))))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:31:03,426 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14937#true} {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #86#return; {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:31:03,427 INFO L290 TraceCheckUtils]: 45: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:03,427 INFO L290 TraceCheckUtils]: 44: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:03,427 INFO L290 TraceCheckUtils]: 43: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:03,427 INFO L272 TraceCheckUtils]: 42: Hoare triple {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (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)); {14937#true} is VALID [2022-04-27 13:31:03,427 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14937#true} {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #84#return; {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:31:03,427 INFO L290 TraceCheckUtils]: 40: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:03,427 INFO L290 TraceCheckUtils]: 39: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:03,427 INFO L290 TraceCheckUtils]: 38: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:03,428 INFO L272 TraceCheckUtils]: 37: Hoare triple {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (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)); {14937#true} is VALID [2022-04-27 13:31:03,428 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14937#true} {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #82#return; {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:31:03,428 INFO L290 TraceCheckUtils]: 35: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:03,428 INFO L290 TraceCheckUtils]: 34: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:03,428 INFO L290 TraceCheckUtils]: 33: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:03,428 INFO L272 TraceCheckUtils]: 32: Hoare triple {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (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)); {14937#true} is VALID [2022-04-27 13:31:03,429 INFO L290 TraceCheckUtils]: 31: Hoare triple {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:31:03,430 INFO L290 TraceCheckUtils]: 30: Hoare triple {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:31:03,490 INFO L290 TraceCheckUtils]: 29: Hoare triple {15469#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15414#(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)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0) (div (div (* main_~d~0 2) 2) 2))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1) (div (div (* main_~d~0 2) 2) 2)) 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))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:31:03,491 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15022#(not (= |__VERIFIER_assert_#in~cond| 0))} {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} #86#return; {15469#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} is VALID [2022-04-27 13:31:03,491 INFO L290 TraceCheckUtils]: 27: Hoare triple {15022#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15022#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:31:03,492 INFO L290 TraceCheckUtils]: 26: Hoare triple {15483#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15022#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:31:03,492 INFO L290 TraceCheckUtils]: 25: Hoare triple {14937#true} ~cond := #in~cond; {15483#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:31:03,492 INFO L272 TraceCheckUtils]: 24: Hoare triple {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:31:03,492 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14937#true} {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} #84#return; {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} is VALID [2022-04-27 13:31:03,493 INFO L290 TraceCheckUtils]: 22: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:03,493 INFO L290 TraceCheckUtils]: 21: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:03,493 INFO L290 TraceCheckUtils]: 20: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:03,493 INFO L272 TraceCheckUtils]: 19: Hoare triple {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:31:03,493 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {14937#true} {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} #82#return; {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} is VALID [2022-04-27 13:31:03,493 INFO L290 TraceCheckUtils]: 17: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:03,493 INFO L290 TraceCheckUtils]: 16: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:03,493 INFO L290 TraceCheckUtils]: 15: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:03,493 INFO L272 TraceCheckUtils]: 14: Hoare triple {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:31:03,494 INFO L290 TraceCheckUtils]: 13: Hoare triple {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} assume !!(#t~post6 < 5);havoc #t~post6; {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} is VALID [2022-04-27 13:31:03,494 INFO L290 TraceCheckUtils]: 12: Hoare triple {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} is VALID [2022-04-27 13:31:03,495 INFO L290 TraceCheckUtils]: 11: Hoare triple {14937#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15473#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (div (div (* main_~d~0 4) 2) 2) (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2))) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0)))} is VALID [2022-04-27 13:31:03,495 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14937#true} {14937#true} #80#return; {14937#true} is VALID [2022-04-27 13:31:03,495 INFO L290 TraceCheckUtils]: 9: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:03,495 INFO L290 TraceCheckUtils]: 8: Hoare triple {14937#true} assume !(0 == ~cond); {14937#true} is VALID [2022-04-27 13:31:03,495 INFO L290 TraceCheckUtils]: 7: Hoare triple {14937#true} ~cond := #in~cond; {14937#true} is VALID [2022-04-27 13:31:03,495 INFO L272 TraceCheckUtils]: 6: Hoare triple {14937#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14937#true} is VALID [2022-04-27 13:31:03,495 INFO L290 TraceCheckUtils]: 5: Hoare triple {14937#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {14937#true} is VALID [2022-04-27 13:31:03,495 INFO L272 TraceCheckUtils]: 4: Hoare triple {14937#true} call #t~ret8 := main(); {14937#true} is VALID [2022-04-27 13:31:03,496 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14937#true} {14937#true} #96#return; {14937#true} is VALID [2022-04-27 13:31:03,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {14937#true} assume true; {14937#true} is VALID [2022-04-27 13:31:03,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {14937#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14937#true} is VALID [2022-04-27 13:31:03,496 INFO L272 TraceCheckUtils]: 0: Hoare triple {14937#true} call ULTIMATE.init(); {14937#true} is VALID [2022-04-27 13:31:03,497 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 31 proven. 59 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-27 13:31:03,497 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:31:03,497 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1457622710] [2022-04-27 13:31:03,497 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:31:03,497 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1667853308] [2022-04-27 13:31:03,497 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1667853308] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:31:03,497 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:31:03,497 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 25 [2022-04-27 13:31:03,497 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1142011758] [2022-04-27 13:31:03,498 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:31:03,498 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 2.28) internal successors, (57), 22 states have internal predecessors, (57), 13 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (28), 13 states have call predecessors, (28), 11 states have call successors, (28) Word has length 100 [2022-04-27 13:31:03,498 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:31:03,498 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 2.28) internal successors, (57), 22 states have internal predecessors, (57), 13 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (28), 13 states have call predecessors, (28), 11 states have call successors, (28) [2022-04-27 13:31:07,467 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 115 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 13:31:07,468 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-27 13:31:07,468 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:31:07,468 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-27 13:31:07,468 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=502, Unknown=0, NotChecked=0, Total=600 [2022-04-27 13:31:07,469 INFO L87 Difference]: Start difference. First operand 176 states and 204 transitions. Second operand has 25 states, 25 states have (on average 2.28) internal successors, (57), 22 states have internal predecessors, (57), 13 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (28), 13 states have call predecessors, (28), 11 states have call successors, (28) [2022-04-27 13:31:58,746 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.36s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:32:01,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:32:01,606 INFO L93 Difference]: Finished difference Result 227 states and 280 transitions. [2022-04-27 13:32:01,606 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-27 13:32:01,606 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 2.28) internal successors, (57), 22 states have internal predecessors, (57), 13 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (28), 13 states have call predecessors, (28), 11 states have call successors, (28) Word has length 100 [2022-04-27 13:32:01,606 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:32:01,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 2.28) internal successors, (57), 22 states have internal predecessors, (57), 13 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (28), 13 states have call predecessors, (28), 11 states have call successors, (28) [2022-04-27 13:32:01,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 163 transitions. [2022-04-27 13:32:01,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 2.28) internal successors, (57), 22 states have internal predecessors, (57), 13 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (28), 13 states have call predecessors, (28), 11 states have call successors, (28) [2022-04-27 13:32:01,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 163 transitions. [2022-04-27 13:32:01,610 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 163 transitions. [2022-04-27 13:32:01,970 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:32:01,973 INFO L225 Difference]: With dead ends: 227 [2022-04-27 13:32:01,973 INFO L226 Difference]: Without dead ends: 206 [2022-04-27 13:32:01,973 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 205 GetRequests, 175 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 138 ImplicationChecksByTransitivity, 18.7s TimeCoverageRelationStatistics Valid=150, Invalid=780, Unknown=0, NotChecked=0, Total=930 [2022-04-27 13:32:01,974 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 82 mSDsluCounter, 351 mSDsCounter, 0 mSdLazyCounter, 866 mSolverCounterSat, 135 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 18.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 86 SdHoareTripleChecker+Valid, 406 SdHoareTripleChecker+Invalid, 1001 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 135 IncrementalHoareTripleChecker+Valid, 866 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 18.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:32:01,974 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [86 Valid, 406 Invalid, 1001 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [135 Valid, 866 Invalid, 0 Unknown, 0 Unchecked, 18.4s Time] [2022-04-27 13:32:01,974 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-27 13:32:02,135 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 188. [2022-04-27 13:32:02,135 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:32:02,136 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand has 188 states, 124 states have (on average 1.1612903225806452) internal successors, (144), 128 states have internal predecessors, (144), 41 states have call successors, (41), 23 states have call predecessors, (41), 22 states have return successors, (39), 36 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-27 13:32:02,136 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand has 188 states, 124 states have (on average 1.1612903225806452) internal successors, (144), 128 states have internal predecessors, (144), 41 states have call successors, (41), 23 states have call predecessors, (41), 22 states have return successors, (39), 36 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-27 13:32:02,136 INFO L87 Difference]: Start difference. First operand 206 states. Second operand has 188 states, 124 states have (on average 1.1612903225806452) internal successors, (144), 128 states have internal predecessors, (144), 41 states have call successors, (41), 23 states have call predecessors, (41), 22 states have return successors, (39), 36 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-27 13:32:02,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:32:02,140 INFO L93 Difference]: Finished difference Result 206 states and 250 transitions. [2022-04-27 13:32:02,140 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 250 transitions. [2022-04-27 13:32:02,141 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:32:02,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:32:02,141 INFO L74 IsIncluded]: Start isIncluded. First operand has 188 states, 124 states have (on average 1.1612903225806452) internal successors, (144), 128 states have internal predecessors, (144), 41 states have call successors, (41), 23 states have call predecessors, (41), 22 states have return successors, (39), 36 states have call predecessors, (39), 39 states have call successors, (39) Second operand 206 states. [2022-04-27 13:32:02,141 INFO L87 Difference]: Start difference. First operand has 188 states, 124 states have (on average 1.1612903225806452) internal successors, (144), 128 states have internal predecessors, (144), 41 states have call successors, (41), 23 states have call predecessors, (41), 22 states have return successors, (39), 36 states have call predecessors, (39), 39 states have call successors, (39) Second operand 206 states. [2022-04-27 13:32:02,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:32:02,146 INFO L93 Difference]: Finished difference Result 206 states and 250 transitions. [2022-04-27 13:32:02,146 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 250 transitions. [2022-04-27 13:32:02,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:32:02,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:32:02,147 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:32:02,147 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:32:02,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 188 states, 124 states have (on average 1.1612903225806452) internal successors, (144), 128 states have internal predecessors, (144), 41 states have call successors, (41), 23 states have call predecessors, (41), 22 states have return successors, (39), 36 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-27 13:32:02,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 188 states to 188 states and 224 transitions. [2022-04-27 13:32:02,151 INFO L78 Accepts]: Start accepts. Automaton has 188 states and 224 transitions. Word has length 100 [2022-04-27 13:32:02,151 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:32:02,151 INFO L495 AbstractCegarLoop]: Abstraction has 188 states and 224 transitions. [2022-04-27 13:32:02,151 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 2.28) internal successors, (57), 22 states have internal predecessors, (57), 13 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (28), 13 states have call predecessors, (28), 11 states have call successors, (28) [2022-04-27 13:32:02,152 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 224 transitions. [2022-04-27 13:32:02,152 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-27 13:32:02,152 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:32:02,153 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:32:02,177 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-27 13:32:02,367 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-27 13:32:02,367 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:32:02,368 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:32:02,368 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 3 times [2022-04-27 13:32:02,368 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:32:02,368 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1053715112] [2022-04-27 13:32:02,368 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:32:02,368 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:32:02,382 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:32:02,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2021051895] [2022-04-27 13:32:02,382 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:32:02,382 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:32:02,382 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:32:02,394 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:32:02,395 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-27 13:32:03,100 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:32:03,101 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:32:03,103 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-27 13:32:03,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:32:03,120 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:32:05,079 INFO L272 TraceCheckUtils]: 0: Hoare triple {16559#true} call ULTIMATE.init(); {16559#true} is VALID [2022-04-27 13:32:05,079 INFO L290 TraceCheckUtils]: 1: Hoare triple {16559#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16559#true} is VALID [2022-04-27 13:32:05,079 INFO L290 TraceCheckUtils]: 2: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,079 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16559#true} {16559#true} #96#return; {16559#true} is VALID [2022-04-27 13:32:05,079 INFO L272 TraceCheckUtils]: 4: Hoare triple {16559#true} call #t~ret8 := main(); {16559#true} is VALID [2022-04-27 13:32:05,079 INFO L290 TraceCheckUtils]: 5: Hoare triple {16559#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {16559#true} is VALID [2022-04-27 13:32:05,079 INFO L272 TraceCheckUtils]: 6: Hoare triple {16559#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,080 INFO L290 TraceCheckUtils]: 7: Hoare triple {16559#true} ~cond := #in~cond; {16585#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:32:05,080 INFO L290 TraceCheckUtils]: 8: Hoare triple {16585#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {16589#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:32:05,080 INFO L290 TraceCheckUtils]: 9: Hoare triple {16589#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {16589#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:32:05,081 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16589#(not (= |assume_abort_if_not_#in~cond| 0))} {16559#true} #80#return; {16596#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:32:05,081 INFO L290 TraceCheckUtils]: 11: Hoare triple {16596#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:32:05,081 INFO L290 TraceCheckUtils]: 12: Hoare triple {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:32:05,082 INFO L290 TraceCheckUtils]: 13: Hoare triple {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:32:05,082 INFO L272 TraceCheckUtils]: 14: Hoare triple {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,082 INFO L290 TraceCheckUtils]: 15: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,082 INFO L290 TraceCheckUtils]: 16: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,082 INFO L290 TraceCheckUtils]: 17: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,083 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16559#true} {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:32:05,083 INFO L272 TraceCheckUtils]: 19: Hoare triple {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,083 INFO L290 TraceCheckUtils]: 20: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,083 INFO L290 TraceCheckUtils]: 21: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,083 INFO L290 TraceCheckUtils]: 22: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,083 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16559#true} {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:32:05,083 INFO L272 TraceCheckUtils]: 24: Hoare triple {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,083 INFO L290 TraceCheckUtils]: 25: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,083 INFO L290 TraceCheckUtils]: 26: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,084 INFO L290 TraceCheckUtils]: 27: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,084 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16559#true} {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:32:05,085 INFO L290 TraceCheckUtils]: 29: Hoare triple {16600#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:32:05,085 INFO L290 TraceCheckUtils]: 30: Hoare triple {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:32:05,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:32:05,097 INFO L272 TraceCheckUtils]: 32: Hoare triple {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,097 INFO L290 TraceCheckUtils]: 33: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,097 INFO L290 TraceCheckUtils]: 34: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,097 INFO L290 TraceCheckUtils]: 35: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,098 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16559#true} {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:32:05,098 INFO L272 TraceCheckUtils]: 37: Hoare triple {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,098 INFO L290 TraceCheckUtils]: 38: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,098 INFO L290 TraceCheckUtils]: 39: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,098 INFO L290 TraceCheckUtils]: 40: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,099 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16559#true} {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:32:05,099 INFO L272 TraceCheckUtils]: 42: Hoare triple {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,099 INFO L290 TraceCheckUtils]: 43: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,099 INFO L290 TraceCheckUtils]: 44: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,099 INFO L290 TraceCheckUtils]: 45: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,100 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16559#true} {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:32:05,101 INFO L290 TraceCheckUtils]: 47: Hoare triple {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:32:05,102 INFO L290 TraceCheckUtils]: 48: Hoare triple {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:32:05,102 INFO L290 TraceCheckUtils]: 49: Hoare triple {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 5);havoc #t~post6; {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:32:05,102 INFO L272 TraceCheckUtils]: 50: Hoare triple {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,102 INFO L290 TraceCheckUtils]: 51: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,102 INFO L290 TraceCheckUtils]: 52: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,102 INFO L290 TraceCheckUtils]: 53: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,103 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16559#true} {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:32:05,103 INFO L272 TraceCheckUtils]: 55: Hoare triple {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,103 INFO L290 TraceCheckUtils]: 56: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,103 INFO L290 TraceCheckUtils]: 57: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,103 INFO L290 TraceCheckUtils]: 58: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,104 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16559#true} {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:32:05,104 INFO L272 TraceCheckUtils]: 60: Hoare triple {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,104 INFO L290 TraceCheckUtils]: 61: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,104 INFO L290 TraceCheckUtils]: 62: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,104 INFO L290 TraceCheckUtils]: 63: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,105 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16559#true} {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:32:05,105 INFO L290 TraceCheckUtils]: 65: Hoare triple {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:32:05,106 INFO L290 TraceCheckUtils]: 66: Hoare triple {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:32:05,106 INFO L290 TraceCheckUtils]: 67: Hoare triple {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post7 < 5);havoc #t~post7; {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:32:05,106 INFO L272 TraceCheckUtils]: 68: Hoare triple {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,106 INFO L290 TraceCheckUtils]: 69: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,106 INFO L290 TraceCheckUtils]: 70: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,106 INFO L290 TraceCheckUtils]: 71: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,107 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16559#true} {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #88#return; {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:32:05,107 INFO L272 TraceCheckUtils]: 73: Hoare triple {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,107 INFO L290 TraceCheckUtils]: 74: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,107 INFO L290 TraceCheckUtils]: 75: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,107 INFO L290 TraceCheckUtils]: 76: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,108 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {16559#true} {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #90#return; {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:32:05,110 INFO L290 TraceCheckUtils]: 78: Hoare triple {16710#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:32:05,112 INFO L290 TraceCheckUtils]: 79: Hoare triple {16655#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16807#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:32:05,112 INFO L290 TraceCheckUtils]: 80: Hoare triple {16807#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16807#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:32:05,112 INFO L290 TraceCheckUtils]: 81: Hoare triple {16807#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 5);havoc #t~post7; {16807#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:32:05,113 INFO L272 TraceCheckUtils]: 82: Hoare triple {16807#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:05,113 INFO L290 TraceCheckUtils]: 83: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,113 INFO L290 TraceCheckUtils]: 84: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,113 INFO L290 TraceCheckUtils]: 85: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,113 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16559#true} {16807#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #88#return; {16807#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:32:05,113 INFO L272 TraceCheckUtils]: 87: Hoare triple {16807#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= 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)); {16559#true} is VALID [2022-04-27 13:32:05,113 INFO L290 TraceCheckUtils]: 88: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:05,113 INFO L290 TraceCheckUtils]: 89: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:05,114 INFO L290 TraceCheckUtils]: 90: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:05,114 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {16559#true} {16807#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #90#return; {16807#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:32:05,116 INFO L290 TraceCheckUtils]: 92: Hoare triple {16807#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {16847#(and (= (+ (- 2) main_~q~0) 0) (<= 1 (mod main_~B~0 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 1))} is VALID [2022-04-27 13:32:05,117 INFO L290 TraceCheckUtils]: 93: Hoare triple {16847#(and (= (+ (- 2) main_~q~0) 0) (<= 1 (mod main_~B~0 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* 2 (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; {16851#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-27 13:32:05,118 INFO L290 TraceCheckUtils]: 94: Hoare triple {16851#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16851#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-27 13:32:05,118 INFO L290 TraceCheckUtils]: 95: Hoare triple {16851#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} assume !!(#t~post7 < 5);havoc #t~post7; {16851#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-27 13:32:05,119 INFO L272 TraceCheckUtils]: 96: Hoare triple {16851#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16861#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:32:05,119 INFO L290 TraceCheckUtils]: 97: Hoare triple {16861#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16865#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:32:05,119 INFO L290 TraceCheckUtils]: 98: Hoare triple {16865#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16560#false} is VALID [2022-04-27 13:32:05,120 INFO L290 TraceCheckUtils]: 99: Hoare triple {16560#false} assume !false; {16560#false} is VALID [2022-04-27 13:32:05,120 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-27 13:32:05,120 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:32:48,605 INFO L290 TraceCheckUtils]: 99: Hoare triple {16560#false} assume !false; {16560#false} is VALID [2022-04-27 13:32:48,605 INFO L290 TraceCheckUtils]: 98: Hoare triple {16865#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16560#false} is VALID [2022-04-27 13:32:48,606 INFO L290 TraceCheckUtils]: 97: Hoare triple {16861#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16865#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:32:48,606 INFO L272 TraceCheckUtils]: 96: Hoare triple {16881#(= (+ 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)); {16861#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:32:48,607 INFO L290 TraceCheckUtils]: 95: Hoare triple {16881#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 5);havoc #t~post7; {16881#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:32:48,607 INFO L290 TraceCheckUtils]: 94: Hoare triple {16881#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16881#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:32:48,610 INFO L290 TraceCheckUtils]: 93: Hoare triple {16891#(= (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; {16881#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:32:48,625 INFO L290 TraceCheckUtils]: 92: Hoare triple {16895#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {16891#(= (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-27 13:32:48,626 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {16559#true} {16895#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #90#return; {16895#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:32:48,626 INFO L290 TraceCheckUtils]: 90: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:48,626 INFO L290 TraceCheckUtils]: 89: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:48,626 INFO L290 TraceCheckUtils]: 88: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:48,626 INFO L272 TraceCheckUtils]: 87: Hoare triple {16895#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:48,627 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16559#true} {16895#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #88#return; {16895#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:32:48,627 INFO L290 TraceCheckUtils]: 85: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:48,627 INFO L290 TraceCheckUtils]: 84: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:48,627 INFO L290 TraceCheckUtils]: 83: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:48,627 INFO L272 TraceCheckUtils]: 82: Hoare triple {16895#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:48,628 INFO L290 TraceCheckUtils]: 81: Hoare triple {16895#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(#t~post7 < 5);havoc #t~post7; {16895#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:32:48,629 INFO L290 TraceCheckUtils]: 80: Hoare triple {16895#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16895#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:32:48,649 INFO L290 TraceCheckUtils]: 79: Hoare triple {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16895#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:32:48,891 INFO L290 TraceCheckUtils]: 78: Hoare triple {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:32:48,892 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {16559#true} {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #90#return; {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-27 13:32:48,892 INFO L290 TraceCheckUtils]: 76: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:48,892 INFO L290 TraceCheckUtils]: 75: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:48,892 INFO L290 TraceCheckUtils]: 74: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:48,893 INFO L272 TraceCheckUtils]: 73: Hoare triple {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:48,893 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16559#true} {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #88#return; {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-27 13:32:48,893 INFO L290 TraceCheckUtils]: 71: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:48,893 INFO L290 TraceCheckUtils]: 70: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:48,893 INFO L290 TraceCheckUtils]: 69: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:48,894 INFO L272 TraceCheckUtils]: 68: Hoare triple {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 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)); {16559#true} is VALID [2022-04-27 13:32:48,897 INFO L290 TraceCheckUtils]: 67: Hoare triple {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} assume !!(#t~post7 < 5);havoc #t~post7; {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-27 13:32:48,900 INFO L290 TraceCheckUtils]: 66: Hoare triple {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-27 13:32:48,903 INFO L290 TraceCheckUtils]: 65: Hoare triple {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} assume !(~r~0 >= ~d~0); {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-27 13:32:48,904 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16559#true} {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #86#return; {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-27 13:32:48,904 INFO L290 TraceCheckUtils]: 63: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:48,904 INFO L290 TraceCheckUtils]: 62: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:48,904 INFO L290 TraceCheckUtils]: 61: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:48,904 INFO L272 TraceCheckUtils]: 60: Hoare triple {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:48,908 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16559#true} {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #84#return; {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-27 13:32:48,908 INFO L290 TraceCheckUtils]: 58: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:48,908 INFO L290 TraceCheckUtils]: 57: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:48,908 INFO L290 TraceCheckUtils]: 56: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:48,908 INFO L272 TraceCheckUtils]: 55: Hoare triple {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:48,909 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16559#true} {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #82#return; {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-27 13:32:48,909 INFO L290 TraceCheckUtils]: 53: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:48,909 INFO L290 TraceCheckUtils]: 52: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:48,909 INFO L290 TraceCheckUtils]: 51: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:48,909 INFO L272 TraceCheckUtils]: 50: Hoare triple {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:48,912 INFO L290 TraceCheckUtils]: 49: Hoare triple {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} assume !!(#t~post6 < 5);havoc #t~post6; {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-27 13:32:48,915 INFO L290 TraceCheckUtils]: 48: Hoare triple {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-27 13:32:49,006 INFO L290 TraceCheckUtils]: 47: Hoare triple {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16939#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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))))) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod 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)))) (not (< (div main_~d~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))) (= (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)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (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)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ 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_~d~0 2) 2) 0)) (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)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 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 (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (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)))) (not (= 0 (mod (+ (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)) (and (or (= (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 (= (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)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-27 13:32:49,007 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16559#true} {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} #86#return; {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:32:49,007 INFO L290 TraceCheckUtils]: 45: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:49,007 INFO L290 TraceCheckUtils]: 44: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:49,007 INFO L290 TraceCheckUtils]: 43: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:49,007 INFO L272 TraceCheckUtils]: 42: Hoare triple {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:49,008 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16559#true} {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} #84#return; {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:32:49,008 INFO L290 TraceCheckUtils]: 40: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:49,008 INFO L290 TraceCheckUtils]: 39: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:49,008 INFO L290 TraceCheckUtils]: 38: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:49,008 INFO L272 TraceCheckUtils]: 37: Hoare triple {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:49,009 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16559#true} {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} #82#return; {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:32:49,009 INFO L290 TraceCheckUtils]: 35: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:49,009 INFO L290 TraceCheckUtils]: 34: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:49,009 INFO L290 TraceCheckUtils]: 33: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:49,009 INFO L272 TraceCheckUtils]: 32: Hoare triple {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:49,010 INFO L290 TraceCheckUtils]: 31: Hoare triple {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(#t~post6 < 5);havoc #t~post6; {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:32:49,012 INFO L290 TraceCheckUtils]: 30: Hoare triple {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:32:49,015 INFO L290 TraceCheckUtils]: 29: Hoare triple {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16935#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (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)))) (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 (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-27 13:32:49,015 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16559#true} {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} #86#return; {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:32:49,016 INFO L290 TraceCheckUtils]: 27: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:49,016 INFO L290 TraceCheckUtils]: 26: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:49,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:49,016 INFO L272 TraceCheckUtils]: 24: Hoare triple {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:49,016 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16559#true} {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} #84#return; {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:32:49,016 INFO L290 TraceCheckUtils]: 22: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:49,016 INFO L290 TraceCheckUtils]: 21: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:49,016 INFO L290 TraceCheckUtils]: 20: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:49,016 INFO L272 TraceCheckUtils]: 19: Hoare triple {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:49,017 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16559#true} {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} #82#return; {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:32:49,017 INFO L290 TraceCheckUtils]: 17: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:49,017 INFO L290 TraceCheckUtils]: 16: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:49,017 INFO L290 TraceCheckUtils]: 15: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:49,017 INFO L272 TraceCheckUtils]: 14: Hoare triple {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:49,018 INFO L290 TraceCheckUtils]: 13: Hoare triple {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 5);havoc #t~post6; {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:32:49,018 INFO L290 TraceCheckUtils]: 12: Hoare triple {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:32:49,020 INFO L290 TraceCheckUtils]: 11: Hoare triple {16559#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {17087#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:32:49,021 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16559#true} {16559#true} #80#return; {16559#true} is VALID [2022-04-27 13:32:49,021 INFO L290 TraceCheckUtils]: 9: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:49,021 INFO L290 TraceCheckUtils]: 8: Hoare triple {16559#true} assume !(0 == ~cond); {16559#true} is VALID [2022-04-27 13:32:49,021 INFO L290 TraceCheckUtils]: 7: Hoare triple {16559#true} ~cond := #in~cond; {16559#true} is VALID [2022-04-27 13:32:49,021 INFO L272 TraceCheckUtils]: 6: Hoare triple {16559#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16559#true} is VALID [2022-04-27 13:32:49,021 INFO L290 TraceCheckUtils]: 5: Hoare triple {16559#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {16559#true} is VALID [2022-04-27 13:32:49,021 INFO L272 TraceCheckUtils]: 4: Hoare triple {16559#true} call #t~ret8 := main(); {16559#true} is VALID [2022-04-27 13:32:49,021 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16559#true} {16559#true} #96#return; {16559#true} is VALID [2022-04-27 13:32:49,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {16559#true} assume true; {16559#true} is VALID [2022-04-27 13:32:49,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {16559#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16559#true} is VALID [2022-04-27 13:32:49,021 INFO L272 TraceCheckUtils]: 0: Hoare triple {16559#true} call ULTIMATE.init(); {16559#true} is VALID [2022-04-27 13:32:49,022 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-27 13:32:49,022 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:32:49,022 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1053715112] [2022-04-27 13:32:49,022 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:32:49,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2021051895] [2022-04-27 13:32:49,023 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2021051895] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:32:49,023 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:32:49,023 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 19 [2022-04-27 13:32:49,023 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1020208140] [2022-04-27 13:32:49,023 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:32:49,023 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.8947368421052633) internal successors, (55), 17 states have internal predecessors, (55), 11 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 9 states have call successors, (29) Word has length 100 [2022-04-27 13:32:49,024 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:32:49,024 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.8947368421052633) internal successors, (55), 17 states have internal predecessors, (55), 11 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 9 states have call successors, (29) [2022-04-27 13:32:49,642 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:32:49,642 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 13:32:49,642 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:32:49,643 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 13:32:49,643 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=278, Unknown=0, NotChecked=0, Total=342 [2022-04-27 13:32:49,643 INFO L87 Difference]: Start difference. First operand 188 states and 224 transitions. Second operand has 19 states, 19 states have (on average 2.8947368421052633) internal successors, (55), 17 states have internal predecessors, (55), 11 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 9 states have call successors, (29) [2022-04-27 13:33:10,151 WARN L232 SmtUtils]: Spent 16.22s on a formula simplification. DAG size of input: 196 DAG size of output: 32 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:33:21,408 WARN L232 SmtUtils]: Spent 7.51s on a formula simplification. DAG size of input: 85 DAG size of output: 37 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:33:24,339 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-27 13:33:29,148 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-27 13:33:32,725 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.49s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:33:37,521 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-27 13:33:46,280 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.24s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:33:55,500 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.37s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:33:57,503 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-27 13:34:03,574 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-27 13:34:05,482 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.90s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:34:11,697 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-27 13:34:13,780 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-27 13:34:15,784 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-27 13:34:18,036 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-27 13:34:20,054 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-27 13:34:32,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:34:32,349 INFO L93 Difference]: Finished difference Result 239 states and 298 transitions. [2022-04-27 13:34:32,349 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-27 13:34:32,349 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.8947368421052633) internal successors, (55), 17 states have internal predecessors, (55), 11 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 9 states have call successors, (29) Word has length 100 [2022-04-27 13:34:32,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:34:32,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.8947368421052633) internal successors, (55), 17 states have internal predecessors, (55), 11 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 9 states have call successors, (29) [2022-04-27 13:34:32,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 166 transitions. [2022-04-27 13:34:32,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.8947368421052633) internal successors, (55), 17 states have internal predecessors, (55), 11 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 9 states have call successors, (29) [2022-04-27 13:34:32,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 166 transitions. [2022-04-27 13:34:32,353 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 166 transitions. [2022-04-27 13:34:33,947 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:34:33,951 INFO L225 Difference]: With dead ends: 239 [2022-04-27 13:34:33,951 INFO L226 Difference]: Without dead ends: 226 [2022-04-27 13:34:33,952 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 206 GetRequests, 179 SyntacticMatches, 3 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 106 ImplicationChecksByTransitivity, 33.4s TimeCoverageRelationStatistics Valid=129, Invalid=520, Unknown=1, NotChecked=0, Total=650 [2022-04-27 13:34:33,952 INFO L413 NwaCegarLoop]: 67 mSDtfsCounter, 155 mSDsluCounter, 364 mSDsCounter, 0 mSdLazyCounter, 842 mSolverCounterSat, 206 mSolverCounterUnsat, 10 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 44.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 161 SdHoareTripleChecker+Valid, 431 SdHoareTripleChecker+Invalid, 1058 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 206 IncrementalHoareTripleChecker+Valid, 842 IncrementalHoareTripleChecker+Invalid, 10 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 44.8s IncrementalHoareTripleChecker+Time [2022-04-27 13:34:33,953 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [161 Valid, 431 Invalid, 1058 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [206 Valid, 842 Invalid, 10 Unknown, 0 Unchecked, 44.8s Time] [2022-04-27 13:34:33,953 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 226 states. [2022-04-27 13:34:34,159 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 226 to 212. [2022-04-27 13:34:34,159 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:34:34,159 INFO L82 GeneralOperation]: Start isEquivalent. First operand 226 states. Second operand has 212 states, 140 states have (on average 1.1857142857142857) internal successors, (166), 146 states have internal predecessors, (166), 47 states have call successors, (47), 25 states have call predecessors, (47), 24 states have return successors, (45), 40 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-27 13:34:34,159 INFO L74 IsIncluded]: Start isIncluded. First operand 226 states. Second operand has 212 states, 140 states have (on average 1.1857142857142857) internal successors, (166), 146 states have internal predecessors, (166), 47 states have call successors, (47), 25 states have call predecessors, (47), 24 states have return successors, (45), 40 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-27 13:34:34,160 INFO L87 Difference]: Start difference. First operand 226 states. Second operand has 212 states, 140 states have (on average 1.1857142857142857) internal successors, (166), 146 states have internal predecessors, (166), 47 states have call successors, (47), 25 states have call predecessors, (47), 24 states have return successors, (45), 40 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-27 13:34:34,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:34:34,164 INFO L93 Difference]: Finished difference Result 226 states and 281 transitions. [2022-04-27 13:34:34,164 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 281 transitions. [2022-04-27 13:34:34,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:34:34,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:34:34,165 INFO L74 IsIncluded]: Start isIncluded. First operand has 212 states, 140 states have (on average 1.1857142857142857) internal successors, (166), 146 states have internal predecessors, (166), 47 states have call successors, (47), 25 states have call predecessors, (47), 24 states have return successors, (45), 40 states have call predecessors, (45), 45 states have call successors, (45) Second operand 226 states. [2022-04-27 13:34:34,165 INFO L87 Difference]: Start difference. First operand has 212 states, 140 states have (on average 1.1857142857142857) internal successors, (166), 146 states have internal predecessors, (166), 47 states have call successors, (47), 25 states have call predecessors, (47), 24 states have return successors, (45), 40 states have call predecessors, (45), 45 states have call successors, (45) Second operand 226 states. [2022-04-27 13:34:34,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:34:34,169 INFO L93 Difference]: Finished difference Result 226 states and 281 transitions. [2022-04-27 13:34:34,169 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 281 transitions. [2022-04-27 13:34:34,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:34:34,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:34:34,169 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:34:34,169 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:34:34,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 212 states, 140 states have (on average 1.1857142857142857) internal successors, (166), 146 states have internal predecessors, (166), 47 states have call successors, (47), 25 states have call predecessors, (47), 24 states have return successors, (45), 40 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-27 13:34:34,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 258 transitions. [2022-04-27 13:34:34,174 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 258 transitions. Word has length 100 [2022-04-27 13:34:34,174 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:34:34,174 INFO L495 AbstractCegarLoop]: Abstraction has 212 states and 258 transitions. [2022-04-27 13:34:34,174 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.8947368421052633) internal successors, (55), 17 states have internal predecessors, (55), 11 states have call successors, (31), 2 states have call predecessors, (31), 2 states have return successors, (29), 10 states have call predecessors, (29), 9 states have call successors, (29) [2022-04-27 13:34:34,174 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 258 transitions. [2022-04-27 13:34:34,175 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-27 13:34:34,175 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:34:34,175 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:34:34,182 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-27 13:34:34,379 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:34:34,380 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:34:34,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:34:34,380 INFO L85 PathProgramCache]: Analyzing trace with hash -392782949, now seen corresponding path program 2 times [2022-04-27 13:34:34,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:34:34,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1902359522] [2022-04-27 13:34:34,380 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:34:34,380 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:34:34,392 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:34:34,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [404078303] [2022-04-27 13:34:34,393 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:34:34,393 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:34:34,393 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:34:34,394 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:34:34,394 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-27 13:34:34,444 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:34:34,444 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-27 13:34:34,444 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-27 13:34:34,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-27 13:34:34,490 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-27 13:34:34,490 INFO L271 BasicCegarLoop]: Counterexample is feasible [2022-04-27 13:34:34,491 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 13:34:34,519 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-27 13:34:34,707 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:34:34,710 INFO L356 BasicCegarLoop]: Path program histogram: [3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:34:34,712 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-27 13:34:34,747 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L28-1 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L15-2 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L35-3 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L35-3 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L53-2 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L53-2 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L36-1 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L36-1 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:34:34,748 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L46-1 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L46-1 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L47 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L47 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L60 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L45-2 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L45-2 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L45 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L45 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:34:34,749 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 13:34:34,749 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 13:34:34,750 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 01:34:34 BoogieIcfgContainer [2022-04-27 13:34:34,750 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 13:34:34,750 INFO L158 Benchmark]: Toolchain (without parser) took 734696.25ms. Allocated memory was 178.3MB in the beginning and 282.1MB in the end (delta: 103.8MB). Free memory was 128.3MB in the beginning and 161.3MB in the end (delta: -33.0MB). Peak memory consumption was 71.2MB. Max. memory is 8.0GB. [2022-04-27 13:34:34,750 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 178.3MB. Free memory is still 144.4MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 13:34:34,751 INFO L158 Benchmark]: CACSL2BoogieTranslator took 232.52ms. Allocated memory is still 178.3MB. Free memory was 128.1MB in the beginning and 152.7MB in the end (delta: -24.6MB). Peak memory consumption was 11.6MB. Max. memory is 8.0GB. [2022-04-27 13:34:34,751 INFO L158 Benchmark]: Boogie Preprocessor took 39.86ms. Allocated memory is still 178.3MB. Free memory was 152.7MB in the beginning and 151.6MB in the end (delta: 1.2MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-27 13:34:34,751 INFO L158 Benchmark]: RCFGBuilder took 241.65ms. Allocated memory is still 178.3MB. Free memory was 151.1MB in the beginning and 139.6MB in the end (delta: 11.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-27 13:34:34,751 INFO L158 Benchmark]: TraceAbstraction took 734177.39ms. Allocated memory was 178.3MB in the beginning and 282.1MB in the end (delta: 103.8MB). Free memory was 139.1MB in the beginning and 161.8MB in the end (delta: -22.7MB). Peak memory consumption was 82.6MB. Max. memory is 8.0GB. [2022-04-27 13:34:34,751 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 178.3MB. Free memory is still 144.4MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 232.52ms. Allocated memory is still 178.3MB. Free memory was 128.1MB in the beginning and 152.7MB in the end (delta: -24.6MB). Peak memory consumption was 11.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 39.86ms. Allocated memory is still 178.3MB. Free memory was 152.7MB in the beginning and 151.6MB in the end (delta: 1.2MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 241.65ms. Allocated memory is still 178.3MB. Free memory was 151.1MB in the beginning and 139.6MB in the end (delta: 11.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 734177.39ms. Allocated memory was 178.3MB in the beginning and 282.1MB in the end (delta: 103.8MB). Free memory was 139.1MB in the beginning and 161.8MB in the end (delta: -22.7MB). Peak memory consumption was 82.6MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 17]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L22] int counter = 0; VAL [\old(counter)=11, counter=0] [L24] unsigned int A, B; [L25] long long r, d, p, q; [L26] A = __VERIFIER_nondet_uint() [L27] B = __VERIFIER_nondet_uint() [L28] CALL assume_abort_if_not(B >= 1) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L12] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L28] RET assume_abort_if_not(B >= 1) VAL [\old(counter)=0, A=4, B=1, counter=0] [L30] r = A [L31] d = B [L32] p = 1 [L33] q = 0 VAL [\old(counter)=0, A=4, B=1, counter=0, d=1, p=1, q=0, r=4] [L35] EXPR counter++ VAL [\old(counter)=0, A=4, B=1, counter=1, counter++=0, d=1, p=1, q=0, r=4] [L35] COND TRUE counter++<5 [L36] CALL __VERIFIER_assert(q == 0) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L36] RET __VERIFIER_assert(q == 0) VAL [\old(counter)=0, A=4, B=1, counter=1, d=1, p=1, q=0, r=4] [L37] CALL __VERIFIER_assert(r == A) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L37] RET __VERIFIER_assert(r == A) VAL [\old(counter)=0, A=4, B=1, counter=1, d=1, p=1, q=0, r=4] [L38] CALL __VERIFIER_assert(d == B * p) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L38] RET __VERIFIER_assert(d == B * p) VAL [\old(counter)=0, A=4, B=1, counter=1, d=1, p=1, q=0, r=4] [L39] COND FALSE !(!(r >= d)) [L41] d = 2 * d [L42] p = 2 * p VAL [\old(counter)=0, A=4, B=1, counter=1, d=2, p=2, q=0, r=4] [L35] EXPR counter++ VAL [\old(counter)=0, A=4, B=1, counter=2, counter++=1, d=2, p=2, q=0, r=4] [L35] COND TRUE counter++<5 [L36] CALL __VERIFIER_assert(q == 0) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=2] [L36] RET __VERIFIER_assert(q == 0) VAL [\old(counter)=0, A=4, B=1, counter=2, d=2, p=2, q=0, r=4] [L37] CALL __VERIFIER_assert(r == A) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=2] [L37] RET __VERIFIER_assert(r == A) VAL [\old(counter)=0, A=4, B=1, counter=2, d=2, p=2, q=0, r=4] [L38] CALL __VERIFIER_assert(d == B * p) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=2] [L38] RET __VERIFIER_assert(d == B * p) VAL [\old(counter)=0, A=4, B=1, counter=2, d=2, p=2, q=0, r=4] [L39] COND FALSE !(!(r >= d)) [L41] d = 2 * d [L42] p = 2 * p VAL [\old(counter)=0, A=4, B=1, counter=2, d=4, p=4, q=0, r=4] [L35] EXPR counter++ VAL [\old(counter)=0, A=4, B=1, counter=3, counter++=2, d=4, p=4, q=0, r=4] [L35] COND TRUE counter++<5 [L36] CALL __VERIFIER_assert(q == 0) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=3] [L36] RET __VERIFIER_assert(q == 0) VAL [\old(counter)=0, A=4, B=1, counter=3, d=4, p=4, q=0, r=4] [L37] CALL __VERIFIER_assert(r == A) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=3] [L37] RET __VERIFIER_assert(r == A) VAL [\old(counter)=0, A=4, B=1, counter=3, d=4, p=4, q=0, r=4] [L38] CALL __VERIFIER_assert(d == B * p) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=3] [L38] RET __VERIFIER_assert(d == B * p) VAL [\old(counter)=0, A=4, B=1, counter=3, d=4, p=4, q=0, r=4] [L39] COND FALSE !(!(r >= d)) [L41] d = 2 * d [L42] p = 2 * p VAL [\old(counter)=0, A=4, B=1, counter=3, d=8, p=8, q=0, r=4] [L35] EXPR counter++ VAL [\old(counter)=0, A=4, B=1, counter=4, counter++=3, d=8, p=8, q=0, r=4] [L35] COND TRUE counter++<5 [L36] CALL __VERIFIER_assert(q == 0) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=4] [L36] RET __VERIFIER_assert(q == 0) VAL [\old(counter)=0, A=4, B=1, counter=4, d=8, p=8, q=0, r=4] [L37] CALL __VERIFIER_assert(r == A) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=4] [L37] RET __VERIFIER_assert(r == A) VAL [\old(counter)=0, A=4, B=1, counter=4, d=8, p=8, q=0, r=4] [L38] CALL __VERIFIER_assert(d == B * p) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=4] [L38] RET __VERIFIER_assert(d == B * p) VAL [\old(counter)=0, A=4, B=1, counter=4, d=8, p=8, q=0, r=4] [L39] COND TRUE !(r >= d) VAL [\old(counter)=0, A=4, B=1, counter=4, d=8, p=8, q=0, r=4] [L45] EXPR counter++ VAL [\old(counter)=0, A=4, B=1, counter=5, counter++=4, d=8, p=8, q=0, r=4] [L45] COND TRUE counter++<5 [L46] CALL __VERIFIER_assert(A == q*B + r) VAL [\old(cond)=1, \old(counter)=0, counter=5] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=5] [L46] RET __VERIFIER_assert(A == q*B + r) VAL [\old(counter)=0, A=4, B=1, counter=5, d=8, p=8, q=0, r=4] [L47] CALL __VERIFIER_assert(d == B*p) VAL [\old(cond)=1, \old(counter)=0, counter=5] [L15] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=5] [L47] RET __VERIFIER_assert(d == B*p) VAL [\old(counter)=0, A=4, B=1, counter=5, d=8, p=8, q=0, r=4] [L49] COND FALSE !(!(p != 1)) [L51] d = d / 2 [L52] p = p / 2 VAL [\old(counter)=0, A=4, B=1, counter=5, d=4, p=4, q=0, r=4] [L53] COND TRUE r >= d [L54] r = r - d [L55] q = q + p VAL [\old(counter)=0, A=4, B=1, counter=5, d=4, p=4, q=4, r=0] [L45] EXPR counter++ VAL [\old(counter)=0, A=4, B=1, counter=6, counter++=5, d=4, p=4, q=4, r=0] [L45] COND FALSE !(counter++<5) [L59] CALL __VERIFIER_assert(A == d*q + r) VAL [\old(cond)=0, \old(counter)=0, counter=6] [L15] COND TRUE !(cond) VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=6] [L17] reach_error() VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=6] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 40 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 734.1s, OverallIterations: 20, TraceHistogramMax: 15, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 216.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 13 mSolverCounterUnknown, 757 SdHoareTripleChecker+Valid, 80.6s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 692 mSDsluCounter, 3751 SdHoareTripleChecker+Invalid, 80.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 6 IncrementalHoareTripleChecker+Unchecked, 2807 mSDsCounter, 715 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 3872 IncrementalHoareTripleChecker+Invalid, 4606 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 715 mSolverCounterUnsat, 944 mSDtfsCounter, 3872 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1849 GetRequests, 1636 SyntacticMatches, 14 SemanticMatches, 199 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 516 ImplicationChecksByTransitivity, 118.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=212occurred in iteration=19, InterpolantAutomatonStates: 171, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.4s AutomataMinimizationTime, 19 MinimizatonAttempts, 132 StatesRemovedByMinimization, 14 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 1.1s SatisfiabilityAnalysisTime, 504.9s InterpolantComputationTime, 1173 NumberOfCodeBlocks, 1145 NumberOfCodeBlocksAsserted, 25 NumberOfCheckSat, 1763 ConstructedInterpolants, 0 QuantifiedInterpolants, 35195 SizeOfPredicates, 45 NumberOfNonLiveVariables, 2725 ConjunctsInSsa, 245 ConjunctsInUnsatCore, 29 InterpolantComputations, 9 PerfectInterpolantSequences, 3825/4473 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-27 13:34:34,963 WARN L435 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process [2022-04-27 13:34:34,984 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 137 Received shutdown request...